home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 2000 November: Tool Chest / Dev.CD Nov 00 TC Disk 1.toast / Sample Code / Archive / Graphics / QuickDraw GX / GX->PostScript Sample / Interfaces&Libraries / Interfaces / CIncludes / GXPrintingPriv.h < prev    next >
Encoding:
C/C++ Source or Header  |  2000-09-28  |  203.5 KB  |  5,491 lines  |  [TEXT/MPS ]

  1. /*
  2.      File:        GXPrintingPriv.h
  3.  
  4.      Contains:    QuickDraw GX to PostScript conversion code.
  5.  
  6.      Version:    Technology:    Quickdraw GX 1.1.x
  7.       
  8.      Copyright:    © 1994-1997 by Apple Computer, Inc., all rights reserved. 
  9. */
  10.  
  11. #ifndef __GXPRINTINGPRIV__
  12. #define __GXPRINTINGPRIV__
  13.  
  14. #ifndef __CONDITIONALMACROS__
  15. #include <ConditionalMacros.h>
  16. #endif
  17. #ifndef __MIXEDMODE__
  18. #include <MixedMode.h>
  19. #endif
  20. #ifndef __TYPES__
  21. #include <Types.h>
  22. #endif
  23. #ifndef __QUICKDRAW__
  24. #include <Quickdraw.h>
  25. #endif
  26. #ifndef __APPLETALK__
  27. #include <AppleTalk.h>
  28. #endif
  29. #ifndef __SERIAL__
  30. #include <Serial.h>
  31. #endif
  32. #ifndef __ADSP__
  33. #include <ADSP.h>
  34. #endif
  35. #ifndef __NUMBERFORMATTING__
  36. #include <NumberFormatting.h>
  37. #endif
  38. #ifndef __PROCESSES__
  39. #include <Processes.h>
  40. #endif
  41. #ifndef __PRINTING__
  42. #include <Printing.h>
  43. #endif
  44. #ifndef __GXMESSAGESPRIV__
  45. #include <GXMessagesPriv.h>
  46. #endif
  47. #ifndef __GXPRINTING__
  48. #include <GXPrinting.h>
  49. #endif
  50. #ifndef __GXPRINTERDRIVERS__
  51. #include <GXPrinterDrivers.h>
  52. #endif
  53.  
  54.  
  55.  
  56. #if PRAGMA_ONCE
  57. #pragma once
  58. #endif
  59.  
  60. #ifdef __cplusplus
  61. extern "C" {
  62. #endif
  63.  
  64. #if PRAGMA_IMPORT
  65. #pragma import on
  66. #endif
  67.  
  68. #if PRAGMA_STRUCT_ALIGN
  69.     #pragma options align=mac68k
  70. #elif PRAGMA_STRUCT_PACKPUSH
  71.     #pragma pack(push, 2)
  72. #elif PRAGMA_STRUCT_PACK
  73.     #pragma pack(2)
  74. #endif
  75.  
  76. typedef CALLBACK_API_C( gxLoopStatus , DTPProcPtr )(Str31 dtpName, void *refCon);
  77. typedef CALLBACK_API_C( OSErr , GXCoreObjectFlattenProcPtr )(void *object, GXPrintingFlattenUPP flattenProc, void *refCon);
  78. typedef STACK_UPP_TYPE(DTPProcPtr)                                 DTPUPP;
  79. typedef STACK_UPP_TYPE(GXCoreObjectFlattenProcPtr)                 GXCoreObjectFlattenUPP;
  80. enum { uppDTPProcInfo = 0x000003D1 };                             /* 1_byte Func(4_bytes, 4_bytes) */
  81. enum { uppGXCoreObjectFlattenProcInfo = 0x00000FE1 };             /* 2_bytes Func(4_bytes, 4_bytes, 4_bytes) */
  82. #define NewDTPProc(userRoutine)                                 (DTPUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDTPProcInfo, GetCurrentArchitecture())
  83. #define NewGXCoreObjectFlattenProc(userRoutine)                 (GXCoreObjectFlattenUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppGXCoreObjectFlattenProcInfo, GetCurrentArchitecture())
  84. #define CallDTPProc(userRoutine, dtpName, refCon)                 CALL_TWO_PARAMETER_UPP((userRoutine), uppDTPProcInfo, (dtpName), (refCon))
  85. #define CallGXCoreObjectFlattenProc(userRoutine, object, flattenProc, refCon)  CALL_THREE_PARAMETER_UPP((userRoutine), uppGXCoreObjectFlattenProcInfo, (object), (flattenProc), (refCon))
  86. /* Printing Core Types...*/
  87.  
  88. struct TAppOverride {
  89.     short                             messageID;
  90.     void *                            override;
  91. };
  92. typedef struct TAppOverride TAppOverride;
  93.  
  94. struct TAppOverrideTableRec {
  95.     short                             numOverrides;
  96.     TAppOverride                     theOverrides[1];
  97. };
  98. typedef struct TAppOverrideTableRec TAppOverrideTableRec;
  99.  
  100. typedef TAppOverrideTableRec *            TAppOverrideTablePtr;
  101. typedef TAppOverrideTablePtr *            TAppOverrideTableHdl;
  102. struct TPrinterInfo {
  103.     OSType                             driverType;
  104.     OSType                             printerType;
  105.     Str31                             driverName;
  106.     Str31                             printerName;
  107. };
  108. typedef struct TPrinterInfo TPrinterInfo;
  109.  
  110. typedef void *                            TPrintingClient;
  111. typedef void *                            TPrinterClass;
  112. typedef void *                            TSegmentStack;
  113. typedef void *                            TSegmentTable;
  114. typedef void *                            TGenericTable;
  115. /* ******* Async I/O HANDLER CONSTANTS AND TYPEDEFS ********/
  116. typedef UInt32                             EInputTermReasons;
  117. typedef UInt32                             EAIORqstStates;
  118. typedef UInt32                             EAIORqstTypes;
  119. typedef UInt32                             ECommProtocolType;
  120. typedef CALLBACK_API_C( void , ProtocolFilterProcPtr )(UInt32 refcon, Handle protocolData);
  121. typedef STACK_UPP_TYPE(ProtocolFilterProcPtr)                     ProtocolFilterUPP;
  122. enum { uppProtocolFilterProcInfo = 0x000003C1 };                 /* no_return_value Func(4_bytes, 4_bytes) */
  123. #define NewProtocolFilterProc(userRoutine)                         (ProtocolFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppProtocolFilterProcInfo, GetCurrentArchitecture())
  124. #define CallProtocolFilterProc(userRoutine, refcon, protocolData)  CALL_TWO_PARAMETER_UPP((userRoutine), uppProtocolFilterProcInfo, (refcon), (protocolData))
  125. /********** Structure Types **********/
  126. /* Information about a completed I/O operation*/
  127.  
  128. struct HIORqstRslt {
  129.     UInt16                             requestID;                    /* Identifier that uniquely identifies request*/
  130.     SInt16                             errRslt;                    /* Error result from processing I/O*/
  131.     EAIORqstTypes                     rqstType;                    /* Type of I/O request*/
  132.     EInputTermReasons                 termReason;                    /* Reason for terminating an input operation*/
  133.     Ptr                             sendBuffer;                    /* HIOSendBuffer: contains sendBuffer pointer                                         // pointer */
  134.                                                                 /* HIOStatusConn: contains cmndBuffer pointer*/
  135.                                                                 /* HIOSendSCSICmnd: contains scsiCmnd pointer*/
  136.                                                                 /* HIOSCSISendBuffer: contains sendBuffer pointer*/
  137.                                                                 /* HIOSCSIStatusConn: contains cmndBuffer pointer*/
  138.                                                                 /* HIOControlConn: contains cmndBuffer pointer*/
  139.     Ptr                             rcvBuffer;                    /* HIOReceiveBuffer: contains rcvBuffer pointer                                         */
  140.                                                                 /* HIOStatusConn: contains responseBuffer pointer*/
  141.                                                                 /* HIOSCSIReceiveBuffer: contains rcvBuffer pointer*/
  142.                                                                 /* HIOSCSIStatusConn: contains responseBuffer pointer*/
  143.                                                                 /* HIOSControlConn: contains responseBuffer pointer*/
  144.     UInt32                             numBytesSent;                /* HIOSendChar: number of bytes sent*/
  145.                                                                 /* HIOSendBuffer: number of bytes sent*/
  146.                                                                 /* HIOStatusConn: number of cmnd bytes sent*/
  147.                                                                 /* HIOSendSCSICmnd: number of cmnd bytes sent*/
  148.                                                                 /* HIOSCSISendBuffer: number of bytes sent*/
  149.                                                                 /* HIOSCSIStatusConn: number of cmnd bytes sent*/
  150.                                                                 /* HIOControlConn: number of cmnd bytes sent*/
  151.     UInt32                             numBytesRcvd;                /* HIOReceiveChar: number of bytes read*/
  152.                                                                 /* HIOReceiveBuffer: number of bytes read*/
  153.                                                                 /* HIOStatusConn: number of response bytes read     */
  154.                                                                 /* HIOSCSIReceiveBuffer: number of bytes read*/
  155.                                                                 /* HIOSCSIStatusConn: number of response bytes read*/
  156.                                                                 /* HIOControlConn: number of response bytes returned     */
  157.     char                             rcvdChar;                    /* HIOReceiveChar: if rcvdChar parameter*/
  158.                                                                 /* was nil, contains the character read.*/
  159. };
  160. typedef struct HIORqstRslt HIORqstRslt;
  161.  
  162. typedef HIORqstRslt *                    HIORqstRsltPtr;
  163. /* ******* LIST HANDLER CONSTANTS AND TYPEDEFS ********/
  164. typedef char                             EListType;
  165. /* enums for singly or doubly linked list*/
  166.  
  167. enum {
  168.     eSingle                        = 0,
  169.     eDouble                        = 1
  170. };
  171.  
  172.  
  173. /* The generic single link  */
  174.  
  175. struct TSLink {
  176.     Handle                             hNext;
  177. };
  178. typedef struct TSLink TSLink;
  179.  
  180. typedef TSLink *                        TPSLink;
  181. typedef TPSLink *                        THSLink;
  182. /* The generic double link  */
  183.  
  184. struct TDLink {
  185.     Handle                             hNext;
  186.     Handle                             hPrev;
  187. };
  188. typedef struct TDLink TDLink;
  189.  
  190. typedef TDLink *                        TPDLink;
  191. typedef TPDLink *                        THDLink;
  192. struct TListHead {
  193.     Handle                             hNext;
  194.     Handle                             hLast;
  195.     EListType                         listTyp;
  196.     char                             padByte;
  197.     short                             listLen;
  198. };
  199. typedef struct TListHead TListHead;
  200.  
  201. typedef TListHead *                        TPListHead;
  202. typedef TPListHead *                    THListHead;
  203. /* ******* DIALOG HANDLER CONSTANTS AND TYPEDEFS ********/
  204. /*---------------------------------------    Structures    ----------------------------------------*/
  205. /*
  206.    TPanelData keeps track of panel information internally.  It is a
  207.    field of TPanelLink.
  208. */
  209.  
  210. struct TPanelData {
  211.     short                             panelResId;                    /* id of 'ppnl' resource*/
  212.     long                             refCon;                        /* panel refcon*/
  213.     Str31                             panelName;
  214.     char                             bPanelId;                    /* used internally to find panel*/
  215.     char                             padByte1;
  216.     short                             scriptId;                    /* script for panel name.*/
  217.     short                             iIconID;
  218.     short                             iDitlID;
  219.     short                             resourcefNum;                /* file id to locate panel resources*/
  220.     Handle                             hToXdtl;                    /* handle to xdtl info for the panel*/
  221.     TPrintingClient                 clientID;                    /* provided by Core. ids the exact client.*/
  222.                                                                 /* it's used to setup resource chain when*/
  223.                                                                 /* we need to retrieve resources from the client.*/
  224.     MessageHandler                     handlerID;                    /* also provided by the Core. ids type of entity*/
  225.                                                                 /* that owns the panel. it's used for SendMessageTo*/
  226.                                                                 /* calls.*/
  227. };
  228. typedef struct TPanelData TPanelData;
  229.  
  230. typedef TPanelData *                    TPanelDataPtr;
  231. typedef TPanelDataPtr *                    TPanelDataHdl;
  232. /*
  233.    TPanelLink is a the structure found in the linked list
  234.    of panel information.  There's one link for each panel.
  235. */
  236.  
  237. struct TPanelLink {
  238.     THSLink                         hNext;
  239.     char                             bPanelId;
  240.     char                             bPanelKind;                    /* app, extension, general, scaling, driver*/
  241.     Boolean                         fMarkForDelete;                /* flag to delete on driver switch*/
  242.     Boolean                         fInListAlready;                /* flag to avoid readding common panels after switch*/
  243.     TPanelData                         panelData;
  244. };
  245. typedef struct TPanelLink TPanelLink;
  246.  
  247. typedef TPanelLink *                    TPanelLinkPtr;
  248. typedef TPanelLinkPtr *                    TPanelLinkHdl;
  249.  
  250.  
  251. // TXdtlEntry describes an xdtl entry in an xdtl resource
  252. struct TNotRadioButton {
  253.     unsigned char    ditlId;
  254.     unsigned char    select;                    // for edittext items, true if the text should be selected
  255. };
  256.  
  257. typedef struct TNotRadioButton    TNotRadioButton;
  258.  
  259. struct TXdtlEntry {
  260.     short            key;            // radiobutton, checkbox, edittextnumber, edittextstring, popup
  261.     long            theTag;            // collection tag
  262.     long            id;                // collection id
  263.     short            offset;            // offset into collection item
  264.     union {
  265.         struct TNotRadioButton item;// corresponding ditl item
  266.         short            buttonCount;// for radiobuttons, the number of buttons
  267.     } entryData;
  268.     unsigned char    radioDitlId;    // start of ditl ids for radiobuttons
  269.     Str15            lowBound;        // low bound for edit text numbers
  270.     Str15            hiBound;        // hi bound for edit text number
  271. };
  272.  
  273. typedef struct TXdtlEntry    TXdtlEntry;
  274. typedef TXdtlEntry        *TXdtlEntryPtr;
  275. typedef TXdtlEntryPtr    *TXdtlEntryHdl;
  276.  
  277. // TXdtlList is used to retrieve the xdtl resource
  278. struct TXdtlList {
  279.     short            count;
  280.     TXdtlEntry        entry;
  281. };
  282.  
  283. typedef struct TXdtlList    TXdtlList;
  284. typedef TXdtlList        *TXdtlListPtr;
  285. typedef TXdtlListPtr    *TXdtlListHdl;
  286.  
  287. /*
  288.    TPanelResource describes panel resources.  The id for this panel is passed to
  289.    the Dialog Handler through the SetupPanel call.
  290. */
  291.  
  292. struct TPanelResource {
  293.     Str31                             panelTitle;
  294.     short                             scriptId;
  295.     short                             intlid1;
  296.     short                             intlid2;
  297.     short                             iconId;
  298.     short                             ditlId;
  299. };
  300. typedef struct TPanelResource TPanelResource;
  301.  
  302. typedef TPanelResource *                TPanelResourcePtr;
  303. typedef TPanelResourcePtr *                TPanelResourceHdl;
  304. /* TDitlItem describes a ditl item.*/
  305.  
  306. struct TDitlItem {
  307.     Handle                             hItem;
  308.     Rect                             rItem;
  309.     char                             bItemType;
  310.     char                             bDataLen;
  311.     short                             iData;
  312. };
  313. typedef struct TDitlItem TDitlItem;
  314.  
  315. typedef TDitlItem *                        TDitlItemPtr;
  316. typedef TDitlItemPtr *                    TDitlItemHdl;
  317. /* TItemList is used to retrieve the ditl.*/
  318.  
  319. struct TItemList {
  320.     short                             iMaxIndex;
  321.     TDitlItem                         ditlList;                    /* this is the start of an array of dialog items*/
  322. };
  323. typedef struct TItemList TItemList;
  324.  
  325. typedef TItemList *                        TItemListPtr;
  326. typedef TItemListPtr *                    TItemListHdl;
  327.  
  328. /*
  329.    procedure definition for dealing with a panel link.
  330.    this is a parameter for ForAllPanelsDo.
  331. */
  332.  
  333. typedef CALLBACK_API_C( long , TPanelProc )(TPanelLinkHdl hPanelLink, long refCon, Boolean *fStop);
  334. typedef STACK_UPP_TYPE(TPanelProc)                                 TPanelProcUPP;
  335. enum { uppTPanelProcProcInfo = 0x00000FF1 };                     /* 4_bytes Func(4_bytes, 4_bytes, 4_bytes) */
  336. #define NewTPanelProcProc(userRoutine)                             (TPanelProcUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTPanelProcProcInfo, GetCurrentArchitecture())
  337. #define CallTPanelProcProc(userRoutine, hPanelLink, refCon, fStop)  CALL_THREE_PARAMETER_UPP((userRoutine), uppTPanelProcProcInfo, (hPanelLink), (refCon), (fStop))
  338. /* TXDtlCache stores information about xdtls for the dialog*/
  339.  
  340. struct TXDtlCache {
  341.     short                             arrayCount;                    /* number of items in hToXdtlArray*/
  342.     Handle                             hToXdtlArray;                /* resizeable handle to array of refs into xdtl*/
  343.     Handle                             hCollectionItem;            /* the current collection item we are working with*/
  344.     CollectionTag                     lastItemTag;                /* tag for current collection item*/
  345.     long                             lastItemId;                    /* id for current collection item*/
  346.     Boolean                         fRealEditText;                /* true if lastEditTextNumber is real*/
  347.     char                             padByte;
  348.     short                             lastEditTextNumber;            /* parse if we just left there*/
  349. };
  350. typedef struct TXDtlCache TXDtlCache;
  351.  
  352. typedef TXDtlCache *                    TXDtlCachePtr;
  353. typedef TXDtlCachePtr *                    TXDtlCacheHdl;
  354. /*
  355.    TParseCache stores strings and tables needed to parse numbers
  356.    for the xdtl edit text boxes.
  357. */
  358.  
  359. struct TParseCache {
  360.     NumFormatString                 canonicalInteger;            /* format for integers*/
  361.     NumFormatString                 canonicalIntegerNegative;    /* format for negative integers*/
  362.     NumFormatString                 canonicalReal;                /* format for real numbers*/
  363.     NumFormatString                 canonicalRealNegative;        /* format for negative real numbers*/
  364.     NumberParts                     partsTable;                    /* for international routines to convert number strings*/
  365. };
  366. typedef struct TParseCache TParseCache;
  367.  
  368. typedef TParseCache *                    TParseCachePtr;
  369. typedef TParseCachePtr *                TParseCacheHdl;
  370. /* HelpDLGResource is used to retrieve the help resource for a panel*/
  371.  
  372. struct HelpDLGResource {
  373.     short                             version;
  374.     short                             firstDITLitem;
  375. };
  376. typedef struct HelpDLGResource HelpDLGResource;
  377.  
  378. /* TDialogStore is the cache for the dialog handler*/
  379. struct TDialogStore {
  380.     DialogPtr                         pDialog;                    /* the dialog*/
  381.     char                             bDialogType;                /* kJobFormatDialog or kPrintDialog or kFormatDialog*/
  382.     char                             dialogState;                /* set on return to driver so we know what proc to call on return*/
  383.     Boolean                         fInAdvanced;                /* true if in advanced version*/
  384.     Boolean                         fDismissed;                    /* true on confirm or cancel*/
  385.     Boolean                         fCancelFromConfirmation;    /* true if panel cancels user confirmation*/
  386.     Boolean                         fScalingDisabled;            /* true when DlgDisableScaling is called*/
  387.     char                             scalingPanelId;                /* 0=no support, 1=supported, 2=lockOn*/
  388.     char                             directModeSupport;            /* 0=no support, 1=supported, 2=lockOn*/
  389.     gxJob                             theJob;
  390.     StringPtr                         dialogTitle;                /* for by page format dialog*/
  391.     gxFormat                         theFormat;                    /* the by page format*/
  392.     EventRecord                     theEvent;                    /* the current event*/
  393.     short                             action;                        /* preflight result*/
  394.     Boolean                         wasAMenuEvt;                /* true if the last event was a menu event*/
  395.     char                             padByte1;
  396.     short                             editItem;                    /* item effected by menu event*/
  397.     gxEditMenuRecord                 editMenuRec;                /* where the edit menu is*/
  398.     MenuHandle                         hEditMenu;                    /* handle to the edit menu*/
  399.     char                             bMaxPanelId;                /* last app panel id assigned*/
  400.     char                             bCurPanelId;                /* id of current panel*/
  401.     char                             lastPanelId;                /* id of last open panel*/
  402.     char                             bGeneralId;                    /* id for the General panel*/
  403.     Boolean                         panelChanged;                /* for help - true after switch            */
  404.     char                             padByte2;
  405.     short                             panelPosition;                /* used for updating iconlist after driver switch and for adding panel data*/
  406.     short                             iCurDlgItems;                /* count of dialog items owned by DialogHandler in current dialog*/
  407.     short                             iCurPanelItems;                /* iCurDlgItems + count of dialog items added by driver or app*/
  408.     Str31                             startPanelName;                /* default to General*/
  409.     Boolean                         fNoPanelChanges;            /* restricts when panels can be added or removed*/
  410.     char                             padByte3;
  411.     TPanelLinkHdl                     hAppPanels;                    /* handle to last app panel added*/
  412.     TPanelLinkHdl                     hExtPanels;                    /* handle to last extension panel added*/
  413.     TPanelLinkHdl                     hCommonPanels;                /* handle to last common panel added*/
  414.     TPanelLinkHdl                     hDriverPanels;                /* handle to last driver panel added*/
  415.     TPanelLinkHdl                     hGeneral;                    /* general novice panel*/
  416.     TPanelLinkHdl                     hCurPanel;                    /* current panel*/
  417.     THListHead                         hPanels;                    /* for additional panels*/
  418.     Handle                             hCurDitl;                    /* handle to current ditl*/
  419.     long                             itemListSize;                /* size of dialog handler item list without panel additions*/
  420.     ListHandle                         hIconList;                    /* list handle for panel icons*/
  421.     short                             panelCount;                    /* total dialog panels*/
  422.     short                             lastPanelCount;                /* used to save count of panels before driver switch*/
  423.     Handle                             hAlphaIcons;                /* sorted list for typeselect*/
  424.     Str31                             typeBuffer;                    /* buffer for typeselect*/
  425.     short                             clearThreshold;                /* interval for clearing typeselect buffer*/
  426.     short                             lastTime;                    /* time when last char came into typeselect buffer*/
  427.     RgnHandle                         hCursorRgn;                    /* empty region for WaitNextEvent*/
  428.     Point                             lastTopRight;                /* used to make sure we zoom in place*/
  429.     Boolean                         fFocusedOnList;                /* true if focus is on icon list*/
  430.     Boolean                         fNeedToSetupIconList;        /* true if icon list has not yet been setup*/
  431.     Rect                             rValid;
  432.     Rect                             rPanel;                        /* local coords for the dialog panel*/
  433.     Rect                             rList;                        /* local coords for the icon panel*/
  434.     Point                             panelOffset;                /* offset for added panels*/
  435.     Boolean                         fHasXdtl;                    /* true if this panel has an extended ditl*/
  436.     char                             padByte;
  437.     TXDtlCacheHdl                     hXDTL;                        /* xdtl cache*/
  438.     TParseCache                     parseCache;                    /* international goop for parsing*/
  439. };
  440. typedef struct TDialogStore TDialogStore;
  441.  
  442. typedef TDialogStore *                    TPDialogStore;
  443. typedef TPDialogStore *                    THDialogStore;
  444. struct TFontDesc {
  445.     short                             iFontNumber;
  446.     short                             iFontSize;
  447.     short                             iFontDescender;
  448. };
  449. typedef struct TFontDesc TFontDesc;
  450.  
  451. typedef TFontDesc *                        TFontDescPtr;
  452. typedef TFontDescPtr *                    TFontDescHdl;
  453. /* structures to support the old style dialogs*/
  454.  
  455. struct TDlgRange {
  456.     short                             iFstButtonIdx;
  457.     short                             iLastButtonIdx;
  458.     short                             iWhatsOnNow;
  459.     short                             iWhatShouldBeOn;
  460. };
  461. typedef struct TDlgRange TDlgRange;
  462.  
  463. /* Definitions for manual feed/mismatch dialogs.*/
  464.  
  465.  
  466. enum {
  467.     gxPaperFeedAliasType        = FOUR_CHAR_CODE('pfal'),
  468.     gxPaperFeedAliasID            = gxPrintingTagID
  469. };
  470.  
  471. struct gxPaperFeedAliasEntry {
  472.     Str31                             paperTypeName;
  473.     long                             trayToFeedFrom;
  474.     char                             specialMapping;
  475.     Boolean                         wasManualFeed;
  476. };
  477. typedef struct gxPaperFeedAliasEntry gxPaperFeedAliasEntry;
  478.  
  479. typedef gxPaperFeedAliasEntry *            gxPaperFeedAliasEntryPtr;
  480. typedef gxPaperFeedAliasEntryPtr *        gxPaperFeedAliasEntryHdl;
  481. struct gxPaperFeedAliasRec {
  482.     long                             count;
  483.     gxPaperFeedAliasEntry             alias[1];
  484. };
  485. typedef struct gxPaperFeedAliasRec gxPaperFeedAliasRec;
  486.  
  487. typedef gxPaperFeedAliasRec *            gxPaperFeedAliasPtr;
  488. typedef gxPaperFeedAliasPtr *            gxPaperFeedAliasHdl;
  489. typedef gxPanelSetupRecord *            PanelSetupPtr;
  490. typedef gxPanelInfoRecord *                PanelInfoPtr;
  491.  
  492. enum {
  493.     kiMaxOldSizes                = 6                                /*  max number of page sizes in old drivers*/
  494. };
  495.  
  496. typedef Point                             TRgPaperSize[6];
  497. struct TPSizeInfo {
  498.     short                             iPgSzCt;
  499.     TRgPaperSize                     rgPaperSize;
  500.     Str255                             labels;
  501. };
  502. typedef struct TPSizeInfo TPSizeInfo;
  503.  
  504. typedef TPSizeInfo *                    TPPSizeInfo;
  505. typedef TPPSizeInfo *                    THPSizeInfo;
  506. typedef CALLBACK_API_C( long , DialogInitProc )(DialogPtr pDlg, long refCon);
  507. typedef CALLBACK_API_C( long , DialogUpdateProc )(DialogPtr pDlg, long refCon, short itemHit);
  508. typedef STACK_UPP_TYPE(DialogInitProc)                             DialogInitProcUPP;
  509. typedef STACK_UPP_TYPE(DialogUpdateProc)                         DialogUpdateProcUPP;
  510. enum { uppDialogInitProcProcInfo = 0x000003F1 };                 /* 4_bytes Func(4_bytes, 4_bytes) */
  511. enum { uppDialogUpdateProcProcInfo = 0x00000BF1 };                 /* 4_bytes Func(4_bytes, 4_bytes, 2_bytes) */
  512. #define NewDialogInitProcProc(userRoutine)                         (DialogInitProcUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDialogInitProcProcInfo, GetCurrentArchitecture())
  513. #define NewDialogUpdateProcProc(userRoutine)                     (DialogUpdateProcUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDialogUpdateProcProcInfo, GetCurrentArchitecture())
  514. #define CallDialogInitProcProc(userRoutine, pDlg, refCon)         CALL_TWO_PARAMETER_UPP((userRoutine), uppDialogInitProcProcInfo, (pDlg), (refCon))
  515. #define CallDialogUpdateProcProc(userRoutine, pDlg, refCon, itemHit)  CALL_THREE_PARAMETER_UPP((userRoutine), uppDialogUpdateProcProcInfo, (pDlg), (refCon), (itemHit))
  516. /* ******* COOL PRINTING ALERT HANDLER CONSTANTS AND TYPEDEFS ********/
  517. /* define symbols for the caller*/
  518.  
  519.  
  520. enum {
  521.     kNoIcon                        = -1,                            /* indicates no icon for alert */
  522.     kDefaultSystemSize            = 0,                            /* use the default system size for the message font */
  523.     kNoDefaultTitle                = 0,                            /* no default button specified */
  524.     kDefaultAction                = 1,                            /* the action title goes on the default button */
  525.     kDefaultTitle2                = 2,                            /* the second title goes on the default button */
  526.     kDefaultTitle3                = 3,                            /* the third title goes on the default button */
  527.     kNoCancelTitle                = 0,                            /* no cancel button specified */
  528.     kCancelAction                = 1,                            /* the action title goes on the cancel button */
  529.     kCancelTitle2                = 2,                            /* the second title goes on the cancel button */
  530.     kCancelTitle3                = 3,                            /* the third title goes on the cancel button */
  531.     kActionTitle                = 1,                            /* the action title (for checking returned title index) */
  532.     kTitle2                        = 2,                            /* the second title (for checking returned title index) */
  533.     kTitle3                        = 3                                /* the third title (for checking returned title index) */
  534. };
  535.  
  536. struct TCoolInfoRec {
  537.     short                             coolVersion;                /* this may be used in the future to specify other dialog types*/
  538.                                                                 /* alerts are version 1.*/
  539.     short                             coolIconId;                    /* the id for the alert icon (-1 specifies no icon)*/
  540.     short                             coolSize;                    /* point size for alert message*/
  541.     char                             coolDefault;                /* designates which label goes on the default button*/
  542.     char                             coolCancel;                    /* designates which label goes on the cancel button*/
  543.     short                             coolTextLength;                /* the start of the strings*/
  544. };
  545. typedef struct TCoolInfoRec TCoolInfoRec;
  546.  
  547. typedef TCoolInfoRec *                    TCoolInfoPtr;
  548. typedef TCoolInfoPtr *                    TCoolInfoHdl;
  549. struct TCoolRecord {
  550.     TCoolInfoRec                     coolInfo;
  551.     Ptr                             coolText;                    /* the alert message*/
  552.     StringPtr                         coolTitles[4];                /* titles for the 3 buttons - */
  553.                                                                 /* coolTitles[1] is the action title.*/
  554.                                                                 /* coolTitles[0] is not used - we want arrays*/
  555.                                                                 /*  to act 1 based since ditls are 1 based -*/
  556.                                                                 /*   it simplifies alot of the code.*/
  557.     StringPtr                         coolFont;                    /* font name - ' ' = system, 'A' = app*/
  558.     StringPtr                         coolAlertTitle;                /* title for alert ( for status cool alerts )*/
  559. };
  560. typedef struct TCoolRecord TCoolRecord;
  561.  
  562. typedef TCoolRecord *                    TCoolPtr;
  563. typedef TCoolPtr *                        TCoolHandle;
  564. struct TButtonRecord {
  565.     short                             buttonTotalWidth;            /* holds width of buttons and spaces between*/
  566.     short                             buttonHeight;                /* holds height of the buttons*/
  567.     short                             ditlTitle[4];                /* maps ditl items to caller titles (indexes from 1)*/
  568.     short                             buttonWidth[4];                /* maps button widths to caller titles (indexes from 1)*/
  569.     short                             buttonCount;                /* number of buttons in alert*/
  570.     short                             cancelDitlId;                /* which ditl item is the cancel*/
  571.     Boolean                         fUsesIcon;                    /* true if alert has an icon*/
  572. };
  573. typedef struct TButtonRecord TButtonRecord;
  574.  
  575. typedef TButtonRecord *                    TButtonPtr;
  576. typedef TButtonPtr *                    TButtonHandle;
  577. /* ******* STATUS HANDLER CONSTANTS AND TYPEDEFS ********/
  578. /* Constants returned from ManualFeedStatus */
  579.  
  580. enum {
  581.     kAutoFeedButton                = 3
  582. };
  583.  
  584. typedef gxStatusRecord *                StatusRecordPtr;
  585. /* ******* BUFFER HANDLER CONSTANTS AND TYPEDEFS ********/
  586. typedef void *                            TGBMap;
  587. /* ******* FONT DATABASE HANDLER CONSTANTS AND TYPEDEFS ********/
  588. typedef void *                            TFontDbase;
  589.  
  590. enum {
  591.     fdbNoFontFlags                = 0x00000000,
  592.     fdbUseMac8Bit                = 0x00000001,                    /* Indicates that the Mac 8 bit standard encoding should be used for PostScript.*/
  593.     fdbExcludeFontPrereqs        = 0x00000002                    /* Indicates that a font's prerequisits should be excluded from prerequisite list.*/
  594. };
  595.  
  596. typedef long                             TfdbInfoFlags;
  597. /** Flags may be set by the FontDatabase handler, also may be set by client **/
  598.  
  599. struct fontSfntMap {
  600.     gxFont                             fontID;
  601.     long                             newSfntRsrcID;
  602. };
  603. typedef struct fontSfntMap fontSfntMap;
  604.  
  605. /* ******* SPOOLING HANDLER CONSTANTS AND TYPEDEFS ********/
  606. /* Constants...*/
  607.  
  608.  
  609. enum {
  610.     kDontUseMessaging            = false,
  611.     kUseMessaging                = true
  612. };
  613.  
  614.  
  615. /* Types...*/
  616.  
  617. typedef unsigned long                     SHFlags;
  618. struct SpoolFilePageDirRec {
  619.     long                             pageSize;
  620.     long                             pageLoc;
  621. };
  622. typedef struct SpoolFilePageDirRec SpoolFilePageDirRec;
  623.  
  624. typedef SpoolFilePageDirRec *            SpoolFilePageDirPtr;
  625. typedef SpoolFilePageDirPtr *            SpoolFilePageDirHdl;
  626.  
  627. enum {
  628.     kSpoolFilePageDirLen        = sizeof(SpoolFilePageDirRec)
  629. };
  630.  
  631. struct SpoolFileFormatDirRec {
  632.     long                             formatSize;
  633.     long                             formatLoc;
  634. };
  635. typedef struct SpoolFileFormatDirRec SpoolFileFormatDirRec;
  636.  
  637. typedef SpoolFileFormatDirRec *            SpoolFileFormatDirPtr;
  638. typedef SpoolFileFormatDirPtr *            SpoolFileFormatDirHdl;
  639.  
  640. enum {
  641.     kSpoolFileFormatDirLen        = sizeof(SpoolFileFormatDirRec)
  642. };
  643.  
  644.  
  645. /* ******* FILE HANDLER CONSTANTS AND TYPEDEFS ********/
  646. /* Constants...*/
  647.  
  648.  
  649. enum {
  650.     kAliasID                    = 0
  651. };
  652.  
  653. /* ID of alias resource in alias file*/
  654.  
  655. enum {
  656.     kStartUpVRef                = -1
  657. };
  658.  
  659. /* refnum of 1st mounted disk (i.e., startup disk)*/
  660.  
  661. enum {
  662.     kDontFlush                    = false,
  663.     kDoFlush                    = true
  664. };
  665.  
  666. /* for flushing volume on FHCloseFile*/
  667.  
  668. enum {
  669.     kNotUniqueName                = false,
  670.     kUniqueName                    = true
  671. };
  672.  
  673. /* for generating a unique file name*/
  674.  
  675. enum {
  676.     kDefaultBufferSize            = -1,
  677.     kNoBuffer                    = 0
  678. };
  679.  
  680. /* for buffer sizes*/
  681. /* Types...*/
  682.  
  683. typedef void *                            TFile;
  684. struct FHFileData {
  685.     FSSpec                             fileSpec;
  686.     short                             dataFork;
  687.     short                             resourceFork;
  688. };
  689. typedef struct FHFileData FHFileData;
  690.  
  691. typedef FHFileData *                    FHFileDataPtr;
  692. typedef FHFileDataPtr *                    FHFileDataHdl;
  693. /* ******* UG LIBRARY CONSTANTS AND TYPEDEFS ********/
  694. /* Error codes*/
  695.  
  696.  
  697. enum {
  698.     ugUserAlreadyExists            = 1,
  699.     ugGroupAlreadyExists        = 2,
  700.     ugULInfoRecNotCreated        = 3,
  701.     ugNoMoreUGs                    = 4,
  702.     ugUserNotFound                = 5,
  703.     ugGroupNotFound                = 6,
  704.     ugNotAUser                    = 7,
  705.     ugNotAGroup                    = 8,
  706.     ugTooManyGroups                = 9,
  707.     ugNotaMember                = 10,
  708.     ugNoMoreUsers                = 11,
  709.     ugNoMoreGroups                = 12,
  710.     ugBadParamErr                = 13,
  711.     ugUserAlreadyAMember        = 14,
  712.     ugAPrmryGroupExists            = 15,
  713.     ugServerRunning                = 16,
  714.     ugAdminRunning                = 17,
  715.     ugNotBtree                    = 18,
  716.     ugBadKey                    = 19,
  717.     ugDskFull                    = 20,
  718.     ugBadUID                    = 21,
  719.     ugInvalidPasswd                = 22,
  720.     ugEOF                        = 23,
  721.     ugBOF                        = 24,
  722.     ugDefNameErr                = 98,
  723.     ugFatalError                = 99
  724. };
  725.  
  726. typedef unsigned char                     Str199[200];
  727. typedef unsigned char                     Str8[9];
  728. /* UserFlags*/
  729.  
  730. enum {
  731.     IACEnabled                    = 1,
  732.     LoginEnabled                = 0x0100,
  733.     SuperUser                    = 0x0200,
  734.     NoChangePwd                    = 0x0400,
  735.     GetNewPwd                    = 0x1000
  736. };
  737.  
  738. /* ServerFlags[0]*/
  739.  
  740. enum {
  741.     Apple2                        = 1,
  742.     NoGuests                    = 2,
  743.     IACGuestEnabled                = 16,
  744.     IACGlobalEnabled            = 32
  745. };
  746.  
  747. /* ServerFlags[1]*/
  748.  
  749. enum {
  750.     DontSavePwd                    = 1
  751. };
  752.  
  753. /* defines for UGSetUserInfo*/
  754.  
  755. enum {
  756.     ChngUserFlags                = 1,
  757.     ChngUserPasswd                = 2,
  758.     ChngUAll                    = 3
  759. };
  760.  
  761. /* defines for UGSetULInfo*/
  762.  
  763. enum {
  764.     ChngSrvrFlags                = 1,
  765.     ChngAdmnKey                    = 2,
  766.     ChngMinPwdLen                = 4,
  767.     ChngMaxBadLogins            = 8,
  768.     ChngPwdExpDate                = 16,
  769.     ChngULAll                    = 31
  770. };
  771.  
  772. /* Misc defines*/
  773.  
  774. enum {
  775.     Sys7SrvrVer                    = 3,
  776.     AS3SrvrVer                    = 4
  777. };
  778.  
  779. /* These are the Param Blocks for the interface calls:    */
  780.  
  781. /*
  782.    Use this ParamBlock for UGOpenFile, UGCloseFile
  783.    or UGCreateFile
  784. */
  785. struct UGFilePB {
  786.     QElemPtr                         qLink;
  787.     short                             qType;
  788.     short                             ugTrap;
  789.     Ptr                             ugCmdAddr;
  790.     ProcPtr                         ugCompletion;
  791.     OSErr                             ugResult;
  792.     StringPtr                         ugNamePtr;
  793.     short                             ugVRefNum;
  794.     short                             ugRefNum;
  795.     long                             ugDirID;
  796.     long                             ugAccessID;
  797.     unsigned long                     ugUserID;
  798.     unsigned long                     ugGroupID;
  799.  
  800.     StringPtr                         ugAdminKey;
  801. };
  802. typedef struct UGFilePB UGFilePB;
  803.  
  804. /* Use this ParamBlock for UGNewUser and UGGetUserInfo*/
  805. struct UGUserPB {
  806.     QElemPtr                         qLink;
  807.     short                             qType;
  808.     short                             ugTrap;
  809.     Ptr                             ugCmdAddr;
  810.     ProcPtr                         ugCompletion;
  811.     OSErr                             ugResult;
  812.     StringPtr                         ugNamePtr;
  813.     short                             ugVRefNum;
  814.     short                             ugRefNum;
  815.     long                             ugDirID;
  816.     long                             ugAccessID;
  817.     unsigned long                     ugUserID;
  818.     unsigned long                     ugGroupID;
  819.  
  820.     short                             ugPosOffset;                /* 0 - current, 1 - next*/
  821.     StringPtr                         ugMisc;                        /* used to rename user*/
  822.     short                             ugChngFlags;                /* 1 - change passwd, 2 - change userflags, 3 - all*/
  823.     StringPtr                         ugPassword;
  824.     long                             ugUserFlags;
  825.     short                             ugNumBadLogins;
  826.     long                             ugPwdDate;
  827.     short                             ugNumGroups;
  828.     long                             ugGroups[42];
  829. };
  830. typedef struct UGUserPB UGUserPB;
  831.  
  832. /* Use this ParamBlock for UGNewGroup, UGGetGroupInfo, and AddUserToGroup*/
  833. struct UGGroupPB {
  834.     QElemPtr                         qLink;
  835.     short                             qType;
  836.     short                             ugTrap;
  837.     Ptr                             ugCmdAddr;
  838.     ProcPtr                         ugCompletion;
  839.     OSErr                             ugResult;
  840.     StringPtr                         ugNamePtr;
  841.     short                             ugVRefNum;
  842.     short                             ugRefNum;
  843.     long                             ugDirID;
  844.     long                             ugAccessID;
  845.     unsigned long                     ugUserID;
  846.     unsigned long                     ugGroupID;
  847.  
  848.     short                             ugPosOffset;                /* 0 - current, 1 - next*/
  849.     StringPtr                         ugMisc;                        /* used to rename group*/
  850.     Boolean                         ugPrimaryFlag;
  851.     char                             pad;
  852. };
  853. typedef struct UGGroupPB UGGroupPB;
  854.  
  855.  
  856. struct UGServerPB {
  857.     QElemPtr                         qLink;
  858.     short                             qType;
  859.     short                             ugTrap;
  860.     Ptr                             ugCmdAddr;
  861.     ProcPtr                         ugCompletion;
  862.     OSErr                             ugResult;
  863.     StringPtr                         ugNamePtr;
  864.     short                             ugVRefNum;
  865.     short                             ugRefNum;
  866.     long                             ugDirID;
  867.     long                             ugAccessID;
  868.     unsigned long                     ugUserID;
  869.     unsigned long                     ugGroupID;
  870.  
  871.     StringPtr                         ugAdminKey;
  872.     short                             ugSrvrVersion;
  873.     short                             ugChngFlags;                /* 1 - srvrflags, 2 - admin key, 4 - minpwdlen, 8 - maxbadlogins, 16 - pwdexpdate, 31 - all*/
  874.     long                             ugSrvrFlags[2];
  875.     Byte                             ugMinPwdLen;
  876.     char                             pad;
  877.     short                             ugMaxBadLogins;
  878.     long                             ugPwdExpDate;
  879. };
  880. typedef struct UGServerPB UGServerPB;
  881.  
  882. union UGParamBlockRec {
  883.     UGFilePB                         ugFilePB;
  884.     UGUserPB                         ugUserPB;
  885.     UGGroupPB                         ugGroupPB;
  886.     UGServerPB                         ugServerPB;
  887. };
  888. typedef union UGParamBlockRec UGParamBlockRec;
  889.  
  890. typedef UGParamBlockRec *                UserGroupPBPtr;
  891. /* ================================================================================ */
  892. /* ******* MISC PRIVATE DEFINES ********/
  893. /* ================================================================================ */
  894. /* current Printing Manager version number (1.2)*/
  895.  
  896.  
  897. enum {
  898.     kPrintingMgrVersion            = 0x00010200
  899. };
  900.  
  901. /* current QDGX version number (1.2)*/
  902.  
  903.  
  904. enum {
  905.     kQuickDrawGXVersion            = 0x00010200
  906. };
  907.  
  908. /* Miscellaneous Constants*/
  909.  
  910. enum {
  911.     kDynamicArray                = 1,
  912.     kVariableArraySize            = 16,
  913.     maxPrinterNameSz            = 99                            /* Maximum size of the printer's network name*/
  914. };
  915.  
  916. /********** Resource Type and ID Constants **********/
  917.  
  918. enum {
  919.     papSpecDataType                = FOUR_CHAR_CODE('PPTL'),        /* resource type of PAP protocol specific info.*/
  920.     serialSpecDataType            = FOUR_CHAR_CODE('SPTL'),        /* resource type of Serial protocol specific info.*/
  921.     scsiSpecDataType            = FOUR_CHAR_CODE('sPTL')        /* resource type of SCSI protocol specific info.*/
  922. };
  923.  
  924. /* Kinda yucky way to do bit masks.  One of Nik's "great" ideas.*/
  925.  
  926. enum {
  927.     noBit                        = 0,
  928.     bit0                        = 1,
  929.     bit1                        = (1 << 1),
  930.     bit2                        = (1 << 2),
  931.     bit3                        = (1 << 3),
  932.     bit4                        = (1 << 4),
  933.     bit5                        = (1 << 5),
  934.     bit6                        = (1 << 6),
  935.     bit7                        = (1 << 7),
  936.     bit8                        = (1 << 8),
  937.     bit9                        = (1 << 9),
  938.     bit10                        = (1 << 10),
  939.     bit11                        = (1 << 11),
  940.     bit12                        = (1 << 12),
  941.     bit13                        = (1 << 13),
  942.     bit14                        = (1 << 14),
  943.     bit15                        = (1 << 15),
  944.     bit16                        = (1 << 16),
  945.     bit17                        = (1 << 17),
  946.     bit18                        = (1 << 18),
  947.     bit19                        = (1 << 19),
  948.     bit20                        = (1 << 20),
  949.     bit21                        = (1 << 21),
  950.     bit22                        = (1 << 22),
  951.     bit23                        = (1 << 23),
  952.     bit24                        = (1 << 24),
  953.     bit25                        = (1 << 25),
  954.     bit26                        = (1 << 26),
  955.     bit27                        = (1 << 27),
  956.     bit28                        = (1 << 28),
  957.     bit29                        = (1 << 29),
  958.     bit30                        = (1 << 30),
  959.     bit31                        = (1 << 31)
  960. };
  961.  
  962.  
  963. /*********************************************************************************
  964.  *                                CONSTANTS PART 1:                                *
  965.  *********************************************************************************/
  966. /* version of the PFE available -- not installed until the PFE is actually running*/
  967.  
  968. enum {
  969.     gestaltPrintingFinderExtensionVersion = FOUR_CHAR_CODE('pxtn')
  970. };
  971.  
  972. /* memory management constants..*/
  973.  
  974. /* for filling out heap preferences word in allocation flags*/
  975.  
  976. enum {
  977.     noHeap                        = 0,
  978.     appHeap                        = 1,
  979.     currentHeap                    = 2,
  980.     mfHeap                        = 3,
  981.     sysHeap                        = 4
  982. };
  983.  
  984. /* shift heapType constant by one of these to place in 32-bit flags*/
  985.  
  986. enum {
  987.     heapToTryFirst                = 0,
  988.     heapToTrySecond                = 4,
  989.     heapToTryThird                = 8,
  990.     heapToTryFourth                = 12,
  991.     heapToTryLast                = heapToTryFourth
  992. };
  993.  
  994.  
  995. enum {
  996.     allocPointerMask            = 0x00010000,
  997.     allocClearMask                = 0x00020000,
  998.     autoDisposeMask                = 0x00040000                    /* not yet implemented*/
  999. };
  1000.  
  1001.  
  1002. /* Example usage of memory allocation constants to build 32-bit flags...
  1003.  
  1004.     The following example allocates a clear 10 byte handle trying the MultiFinder heap
  1005.     first, the app heap second, and the System heap last, ignoring the current
  1006.     heap.
  1007.     
  1008.     unsigned long flags = (mfHeap << heapToTryFirst) +
  1009.                                  (appHeap << heapToTrySecond) +
  1010.                                  (sysHeap << heapToTryThird) +
  1011.                                  allocClearMask;
  1012.  
  1013.     anErr = PrNewAllocation(flags, 10, &h);
  1014.  
  1015. */
  1016.  
  1017. /*
  1018.     File types for the life cycle of spool files:
  1019.  
  1020.     ????        Creator type which Finder will not open nor print
  1021.     ttxt',        Creator type for spool files and PDDs.
  1022.     ?job',        File that failed during spooling
  1023.     sjob',        File type for PDDs    
  1024.     tjob',        File type for Spool Files    
  1025.     rjob',        File has been sent for remote printing
  1026.     qjob'        File crashed during imaging
  1027. */
  1028.  
  1029. enum {
  1030.     kNeverOpenType                = FOUR_CHAR_CODE('????'),
  1031.     kPrintViewerType            = FOUR_CHAR_CODE('ttxt'),
  1032.     kIncompleteType                = FOUR_CHAR_CODE('?job'),
  1033.     kPDDFileType                = FOUR_CHAR_CODE('sjob'),
  1034.     kSpoolFileType                = FOUR_CHAR_CODE('tjob'),
  1035.     kRemoteSpoolType            = FOUR_CHAR_CODE('rjob'),
  1036.     kCrashedSpoolType            = FOUR_CHAR_CODE('qjob')
  1037. };
  1038.  
  1039.  
  1040. /*
  1041.    The is no message for opening spool files, so these are here instead of GXPrintingMessages.h
  1042.    Options for OpenSpoolFile.
  1043. */
  1044.  
  1045.  
  1046. enum {
  1047.     gxNoOpenOptions                = 0x00000000,                    /* just open the file*/
  1048.     gxReadFontDataBase            = 0x00000001                    /* read in the font data base*/
  1049. };
  1050.  
  1051.  
  1052.  
  1053. /* private dialog panel events (positive values are in PrintingMessages.h)*/
  1054.  
  1055.  
  1056. enum {
  1057.     kPanelNewTargetEvt            = -1,
  1058.     kPanelChoiceEvt                = -2
  1059. };
  1060.  
  1061.  
  1062. /* private dialog/panel results*/
  1063.  
  1064.  
  1065. enum {
  1066.     kNothingInteresting            = -1,
  1067.     kDriverChanged                = -2,
  1068.     kPrinterChanged                = -3,
  1069.     kDirectModeOn                = -4,
  1070.     kDirectModeOff                = -5
  1071. };
  1072.  
  1073.  
  1074. /* handlers which rely on a job-based context for storage*/
  1075.  
  1076. enum {
  1077.     eAsyncIOHandler                = 0,
  1078.     eDialogHandler                = 1,
  1079.     eStatusHandler                = 2,
  1080.     eNumHandlers                = 3                                /* add handlers before eNumHandlers!*/
  1081. };
  1082.  
  1083.  
  1084. /*********************************************************************************
  1085.  *                                    STRUCTURES                                     *
  1086.  *********************************************************************************/
  1087. /* ================================================================================ */
  1088. /* ******* PRINTINGEPPC CONSTANTS AND TYPES ********/
  1089.  
  1090. enum {
  1091.     kMaximumStatusLength        = 512
  1092. };
  1093.  
  1094. /* defines for Finder extensions*/
  1095.  
  1096. enum {
  1097.     kFinderExtension            = FOUR_CHAR_CODE('fext'),
  1098.     kPrintingExtension            = FOUR_CHAR_CODE('pxtn')
  1099. };
  1100.  
  1101. /* AppleEvent type*/
  1102.  
  1103. enum {
  1104.     kAEPrinterShareEvent        = FOUR_CHAR_CODE('pshr')
  1105. };
  1106.  
  1107. /* Event types, for eventType*/
  1108.  
  1109. enum {
  1110.     kTypeRequest                = FOUR_CHAR_CODE('RQST'),        /* a request to a program*/
  1111.     kTypeReply                    = FOUR_CHAR_CODE('RPLY')        /* a reply back for that request*/
  1112. };
  1113.  
  1114. /*
  1115.    ----------------------------------------------------------------------
  1116.                       APPLE EVENT CLASS STRUCTURES
  1117.    ----------------------------------------------------------------------
  1118. */
  1119.  
  1120. /*
  1121.    Arbitrary data
  1122.    this is used in the client code for stuffing data
  1123.    without having to worry about what the actual format is
  1124. */
  1125.  
  1126. struct ArbitraryClass {
  1127.     unsigned char                     arbitraryData[16];
  1128. };
  1129. typedef struct ArbitraryClass ArbitraryClass;
  1130.  
  1131. /* ----------------------------------------------------------------------*/
  1132.  
  1133. /* QueueClass*/
  1134.  
  1135.  
  1136. enum {
  1137.     kStopQueue                    = FOUR_CHAR_CODE('stop'),
  1138.     kStartQueue                    = FOUR_CHAR_CODE('strt'),
  1139.     kRestartQueueSecurity        = FOUR_CHAR_CODE('rsrt'),
  1140.     kHaltCurrentJobs            = FOUR_CHAR_CODE('khcj')
  1141. };
  1142.  
  1143. /* ----------------------------------------------------------------------*/
  1144.  
  1145. /* SpoolFileClass*/
  1146.  
  1147.  
  1148. enum {
  1149.     kDeleteSpoolFile            = FOUR_CHAR_CODE('delt'),
  1150.     kSetPrioritySpoolFile        = FOUR_CHAR_CODE('setp'),
  1151.     kPrintSpoolFile                = FOUR_CHAR_CODE('prsf')
  1152. };
  1153.  
  1154. struct SpoolFileClass {
  1155.     FSSpec                             spoolFile;                    /* which spool file this is for*/
  1156.     long                             newPriority;                /* new priority for spool file*/
  1157.     long                             newPrintTime;                /* new print time for spool file*/
  1158. };
  1159. typedef struct SpoolFileClass SpoolFileClass;
  1160.  
  1161. /* ----------------------------------------------------------------------*/
  1162. /* SharePrinterClass*/
  1163.  
  1164.  
  1165. enum {
  1166.     kCreateSharedPrinter        = FOUR_CHAR_CODE('shar'),
  1167.     kDeleteSharedPrinter        = FOUR_CHAR_CODE('rmov')
  1168. };
  1169.  
  1170. struct SharePrinterClass {
  1171.     long                             shutdownDelay;                /* for 'shar', 1=remove from network, 0=don't remove*/
  1172.     Str255                             shutdownString;                /* string to display on users machine on shutdown*/
  1173. };
  1174. typedef struct SharePrinterClass SharePrinterClass;
  1175.  
  1176. /* ----------------------------------------------------------------------*/
  1177.  
  1178. /* DeviceStatusClass*/
  1179.  
  1180.  
  1181. enum {
  1182.     kDeviceStatusInfo            = FOUR_CHAR_CODE('stat'),
  1183.     kRemoteDeviceStatus            = FOUR_CHAR_CODE('rsta'),
  1184.     kDeviceStatusUserReply        = FOUR_CHAR_CODE('user'),
  1185.     kTicklePacket                = FOUR_CHAR_CODE('tick'),
  1186.     kJobErrorPacket                = FOUR_CHAR_CODE('jerr'),
  1187.     kLocalServer                = -1
  1188. };
  1189.  
  1190. struct DeviceStatusClass {
  1191.     long                             queueID;                    /* id of remote queue (or kLocalServer)*/
  1192.     long                             deviceID;                    /* id of remote device (or kLocalServer)*/
  1193.     long                             magicCookie;                /* magic cookie for changed status*/
  1194.     long                             userCount;                    /* # users on the server (or kLocalServer)*/
  1195.     unsigned long                     queueState;                    /* state of queue (ie, stopped etc)*/
  1196.     long                             currentlyPrintingFileID;    /* which file is currently printing*/
  1197.     long                             currentlyPrintingPage;        /* which page is printing*/
  1198.     Fixed                             percentage;                    /* percentage complete*/
  1199.     char                             currentStatus[512];            /* driver-specific status data*/
  1200. };
  1201. typedef struct DeviceStatusClass DeviceStatusClass;
  1202.  
  1203. /* ----------------------------------------------------------------------*/
  1204.  
  1205. /* RemoteJobListClass*/
  1206.  
  1207.  
  1208. enum {
  1209.     kRemoteJobList                = FOUR_CHAR_CODE('flst'),
  1210.     kNoSuchJobID                = 0,                            /* never used as a fileID (so say HFS people)*/
  1211.     kJobIDMaxCount                = 100                            /* a convenient number of fileIDs*/
  1212. };
  1213.  
  1214. struct RemoteJobListClass {
  1215.     long                             queueID;                    /* id of remote queue*/
  1216.     long                             deviceID;                    /* id of remote device*/
  1217.     long                             magicCookie;                /* magic cookie for changed jobList*/
  1218.     long                             count;                        /* count of remote job id's*/
  1219.     long                             remoteJobID[100];            /* id of remote job*/
  1220. };
  1221. typedef struct RemoteJobListClass RemoteJobListClass;
  1222.  
  1223. typedef RemoteJobListClass *            RemoteJobListPtr;
  1224. /* ----------------------------------------------------------------------*/
  1225.  
  1226. /* RemoteJobInfoClass*/
  1227.  
  1228.  
  1229. enum {
  1230.     kRemoteJobInfo                = FOUR_CHAR_CODE('finf'),
  1231.     kSetRemoteJobInfo            = FOUR_CHAR_CODE('sinf')
  1232. };
  1233.  
  1234. struct JobName {
  1235.                                                                 /* these strings are packed and word-aligned*/
  1236.     Str31                             appName;                    /* application that created this job*/
  1237.     Str31                             documentName;                /* name of document being printed*/
  1238.     Str31                             userName;                    /* user who submitted the job*/
  1239. };
  1240. typedef struct JobName JobName;
  1241.  
  1242. typedef JobName *                        JobNamePtr;
  1243. struct RemoteJobInfoClass {
  1244.     long                             queueID;                    /* target queue*/
  1245.     long                             deviceID;                    /* target device*/
  1246.     long                             jobID;                        /* target job (file)*/
  1247.     long                             magicCookie;                /* psNoCookies if not supported*/
  1248.     long                             priority;                    /* job priority*/
  1249.     unsigned long                     timeToPrint;                /* absolute time of job*/
  1250.     long                             jobTimeout;                    /* in ticks*/
  1251.     long                             firstPageToPrint;            /* start printing from this page*/
  1252.     long                             jobAlert;                    /* when to alert user*/
  1253.     long                             numPages;                    /* pages of job*/
  1254.     long                             numCopies;                    /* number of copies of each page*/
  1255.     OSType                             jobType;                    /* type of job*/
  1256.     JobName                         s;                            /* job name record*/
  1257. };
  1258. typedef struct RemoteJobInfoClass RemoteJobInfoClass;
  1259.  
  1260. typedef RemoteJobInfoClass *            RemoteJobInfoPtr;
  1261. /* ----------------------------------------------------------------------*/
  1262.  
  1263. /* LookupServerClass*/
  1264.  
  1265.  
  1266. enum {
  1267.     kLookupServer                = FOUR_CHAR_CODE('look')
  1268. };
  1269.  
  1270. /* these strings are NOT packed*/
  1271. struct LookupServerClass {
  1272.     AddrBlock                         theAddr;                    /* address of server*/
  1273.     Str32                             theName;                    /* name of server*/
  1274.     Str32                             theType;                    /* type of server*/
  1275.     Str32                             theZone;                    /* zone of server*/
  1276. };
  1277. typedef struct LookupServerClass LookupServerClass;
  1278.  
  1279. typedef LookupServerClass *                LookupServerPtr;
  1280. /* ----------------------------------------------------------------------*/
  1281.  
  1282. /* PingServerClass*/
  1283.  
  1284.  
  1285. enum {
  1286.     kPingServer                    = FOUR_CHAR_CODE('ping')
  1287. };
  1288.  
  1289. struct PingServerClass {
  1290.     long                             requestID;                    /* client requestID (for PFE AppleEvent)*/
  1291.     long                             queueID;                    /* which queue we pinged*/
  1292.     long                             maxUsers;                    /* max users for this server*/
  1293.     long                             curUsers;                    /* current connected users*/
  1294.     unsigned long                     queueState;                    /* state of queue (ie, stopped etc)*/
  1295.     unsigned short                     statusType;                    /* driver status type (StatusRecord)*/
  1296.     unsigned short                     statusID;                    /* driver status ID (StatusRecord)*/
  1297.     long                             jobID;                        /* job ID for the currently printing file*/
  1298.     Fixed                             percentage;                    /* percentage done*/
  1299. };
  1300. typedef struct PingServerClass PingServerClass;
  1301.  
  1302. typedef PingServerClass *                PingServerPtr;
  1303. /* ----------------------------------------------------------------------*/
  1304.  
  1305. /* Printing AppleEvent Header*/
  1306.  
  1307. struct PrintingAppleEventHeader {
  1308.     long                             eventType;                    /* request or reply*/
  1309.     long                             eventClass;                    /* what kind of event this is*/
  1310.     long                             requestID;                    /* use TickCount on Request, passed back on reply*/
  1311.     OSErr                             replyResult;                /* result for replys*/
  1312.     Str31                             queueName;                    /* which printer sent this event*/
  1313. };
  1314. typedef struct PrintingAppleEventHeader PrintingAppleEventHeader;
  1315.  
  1316. /* The AppleEvents used between printing and the Finder extension*/
  1317. struct PrintingAppleEvent {
  1318.  
  1319.     PrintingAppleEventHeader         h;                            /* header, common to all events*/
  1320.  
  1321.     union {
  1322.         ArbitraryClass                     arbitraryClass;
  1323.         SpoolFileClass                     spoolFile;
  1324.         SharePrinterClass                 sharePrinter;
  1325.         DeviceStatusClass                 deviceStatus;
  1326.         RemoteJobListClass                 remoteJobList;
  1327.         RemoteJobInfoClass                 remoteJobInfo;
  1328.         LookupServerClass                 lookupServer;
  1329.         PingServerClass                 pingServer;
  1330.     }                                 u;
  1331.  
  1332. };
  1333. typedef struct PrintingAppleEvent PrintingAppleEvent;
  1334.  
  1335. /* AppleEvent structure for PFE events*/
  1336. struct PFEEvent {
  1337.     ResType                         extensionName;                /* which extension to send to*/
  1338.     PrintingAppleEvent                 d;                            /* the real data to send*/
  1339. };
  1340. typedef struct PFEEvent PFEEvent;
  1341.  
  1342. /* ----------------------------------------------------------------------*/
  1343.  
  1344. #define kBasicPrintingEventSize        (sizeof(PrintingAppleEventHeader) + sizeof(ResType))
  1345. #define kQueueEventSize                (kBasicPrintingEventSize)
  1346. #define kSpoolFileEventSize            (kBasicPrintingEventSize+sizeof(SpoolFileClass))
  1347. #define kSharePrinterEventSize        (kBasicPrintingEventSize+sizeof(SharePrinterClass))
  1348. #define kDeviceStatusEventSize        (kBasicPrintingEventSize+sizeof(DeviceStatusClass)-kMaximumStatusLength)
  1349. #define kRemoteJobListEventSize        (kBasicPrintingEventSize+sizeof(RemoteJobListClass)-kJobIDMaxCount*sizeof(long))
  1350. #define kRemoteJobInfoEventSize        (kBasicPrintingEventSize+sizeof(RemoteJobInfoClass))
  1351. #define kLookupServerEventSize        (kBasicPrintingEventSize+sizeof(LookupServerClass))
  1352. #define kPingServerEventSize        (kBasicPrintingEventSize+sizeof(PingServerClass))
  1353.  
  1354. /* ================================================================================ */
  1355. /* ******* GENERIC PROTOCOL CONSTANTS AND TYPES ********/
  1356. /* ------------------------- Protocol Constants -------------------------*/
  1357.  
  1358.  
  1359. enum {
  1360.     psMaxUserLen                = 31,                            /* maximum user name length*/
  1361.     psMaxPasswordLen            = 31,                            /* maximum password length*/
  1362.     kMaxPasswordLen                = psMaxPasswordLen,                /* maximum password length (compatibility)*/
  1363.     psVersion1                    = 0x0100,                        /* version 1.0*/
  1364.     psCurrentVersion            = psVersion1,                    /* "current" version*/
  1365.     psNoCookies                    = -1,                            /* magic cookie placeholder*/
  1366.     psFreshCookie                = 0,                            /* magic cookie for current info*/
  1367.     kStatusQuo                    = -1,                            /* no change to parameter (SetXInfo)*/
  1368.     kBaseJobIDCount                = 16                            /* assume there will be this many jobs, or fewer*/
  1369. };
  1370.  
  1371. /*
  1372.    Use psNoLength for data channel packets ONLY where the sender does not
  1373.    know the length of the data when the send begins.
  1374.    Requires use of an implementation specific mechanism for tagging the end
  1375.    of the message or parameter.  In ADSP the EOM bit is used.
  1376.    If there are any psNoLength parameters, they must be the only one in the message.
  1377. */
  1378.  
  1379.  
  1380. enum {
  1381.     psNoLength                    = -1                            /* length is unknown*/
  1382. };
  1383.  
  1384.  
  1385. enum {
  1386.     psDefaultQueue                = 0,                            /* "main" queue for server; currently, the *only* queue*/
  1387.     psDefaultDevice                = 0                                /* "main" device for queue; currently, the *only* device*/
  1388. };
  1389.  
  1390. /* DSP Attention data maximum = 570 bytes*/
  1391. #define psFragDataMax        512
  1392. #define psFragHdrSize        sizeof(PSPHeader)
  1393. #define psFragSize            psFragDataMax + psFragHdrSize
  1394.  
  1395. enum {
  1396.     psAttentionInterval            = 18                            /* ADSP Attention Interval*/
  1397. };
  1398.  
  1399. /* --------------------------- Protocol Types ---------------------------*/
  1400.  
  1401. struct IntlStr31 {
  1402.     short                             script;
  1403.     unsigned char                     data[32];                    /* 31 bytes + length*/
  1404. };
  1405. typedef struct IntlStr31 IntlStr31;
  1406.  
  1407. typedef long                             RandomNumber[8];
  1408. #define    psRandNumSize        sizeof(RandomNumber)
  1409.  
  1410. struct PSPVersionList {
  1411.     short                             versionCount;                /* one-based count*/
  1412.     short                             versionList[1];
  1413. };
  1414. typedef struct PSPVersionList PSPVersionList;
  1415.  
  1416. typedef PSPVersionList *                PSPVersionListPtr;
  1417. typedef PSPVersionListPtr *                PSPVersionListHdl;
  1418. typedef OSType                             UAMType;
  1419. struct PSPUAMList {
  1420.     short                             uamCount;                    /* one-based count*/
  1421.     UAMType                         uamList[1];
  1422. };
  1423. typedef struct PSPUAMList PSPUAMList;
  1424.  
  1425. typedef PSPUAMList *                    PSPUAMListPtr;
  1426. typedef PSPUAMListPtr *                    PSPUAMListHdl;
  1427.  
  1428. /* -------------------------------- UAMs --------------------------------*/
  1429.  
  1430.  
  1431. enum {
  1432.     uamGuest                    = FOUR_CHAR_CODE('Any1'),        /* guest access*/
  1433.     uamZoneGuest                = FOUR_CHAR_CODE('Zone'),        /* zone membership*/
  1434.     uamNoPassword                = FOUR_CHAR_CODE('NoPW'),        /* user name only*/
  1435.     uamClearText                = FOUR_CHAR_CODE('ClrT'),        /* password in cleartext*/
  1436.     uamRandNum                    = FOUR_CHAR_CODE('RndX'),        /* random number exhange*/
  1437.     uamTwoWay                    = FOUR_CHAR_CODE('2Way')        /* two-way random number exchange*/
  1438. };
  1439.  
  1440. /* -------------------------- Device Info Types --------------------------*/
  1441.  
  1442.  
  1443. enum {
  1444.     psDeviceInfoList            = FOUR_CHAR_CODE('????')
  1445. };
  1446.  
  1447. /* -------------------------- Parameter Labels --------------------------*/
  1448.  
  1449.  
  1450. enum {
  1451.     psSpoolParameter            = FOUR_CHAR_CODE('spol'),
  1452.     psImageParameter            = FOUR_CHAR_CODE('imag'),
  1453.     psFontParameter                = FOUR_CHAR_CODE('font'),
  1454.     psExtensionParameter        = FOUR_CHAR_CODE('ext ')
  1455. };
  1456.  
  1457.  
  1458. /* ----------------------------- Bit Fields ----------------------------*/
  1459.  
  1460.  
  1461. enum {
  1462.     psPassword                    = bit0,
  1463.     psMagicCookies                = bit1
  1464. };
  1465.  
  1466. /* all other bits are reserved, and must be zero*/
  1467.  
  1468. enum {
  1469.     psQueueActive                = bit0,
  1470.     psQueueBusy                    = bit1
  1471. };
  1472.  
  1473. /* all other bits are reserved, and must be zero*/
  1474.  
  1475. enum {
  1476.     privNone                    = noBit,
  1477.     privConnect                    = bit0,                            /* client may connect to the server*/
  1478.     privChangePassword            = bit1,                            /* client may change user’s password*/
  1479.     privSendJob                    = bit2,                            /* client may submit (and abort) jobs*/
  1480.     privGetOwnJobInfo            = bit3,                            /* client may request information about user jobs*/
  1481.     privSetOwnJobInfo            = bit4,                            /* client may change infomation about user jobs*/
  1482.     privDeleteOwnJob            = bit5,                            /* client may delete user jobs*/
  1483.     privGetGroupJobInfo            = bit6,                            /* client may request information about group jobs*/
  1484.     privSetGroupJobInfo            = bit7,                            /* client may change infomation about group jobs*/
  1485.     privDeleteGroupJob            = bit8,                            /* client may delete group jobs*/
  1486.     privGetOtherJobInfo            = bit9,                            /* client may request information about other jobs*/
  1487.     privSetOtherJobInfo            = bit10,                        /* client may change infomation about other jobs*/
  1488.     privDeleteOtherJob            = bit11,                        /* client may delete other jobs*/
  1489.     privSetQueueState            = bit12,                        /* client may start/stop queue*/
  1490.     privSetQueueInfo            = bit13                            /* client may change queue config info*/
  1491. };
  1492.  
  1493. /* all other bits are reserved, and must be zero*/
  1494. /* Superuser has all priv's*/
  1495.  
  1496.  
  1497. enum {
  1498.     privAll                        = privConnect + privChangePassword + privSendJob + privGetOwnJobInfo + privSetOwnJobInfo + privDeleteOwnJob + privGetGroupJobInfo + privSetGroupJobInfo + privDeleteGroupJob + privGetOtherJobInfo + privSetOtherJobInfo + privDeleteOtherJob + privSetQueueState,
  1499.     privMayPrint                = privConnect + privSendJob + privGetOwnJobInfo + privSetOwnJobInfo + privDeleteOwnJob,
  1500.     privSeeJobs                    = privConnect + privGetGroupJobInfo + privGetOtherJobInfo,
  1501.     privChangeJobs                = privConnect + privSetGroupJobInfo + privDeleteGroupJob + privSetOtherJobInfo + privDeleteOtherJob,
  1502.     privChangePrinter            = privConnect + privSetQueueState
  1503. };
  1504.  
  1505.  
  1506. /* ---------------------------- Result Codes ----------------------------*/
  1507.  
  1508.  
  1509. enum {
  1510.                                                                 /* server not-quite-errors*/
  1511.     psNotDone                    = 2,                            /* first fragment of multi-fragment message*/
  1512.     psNoChange                    = 1,                            /* magic cookie indicates no change*/
  1513.     psNoErr                        = 0,                            /* no error*/
  1514.                                                                 /* API errors*/
  1515.     psNoServer                    = -6000,                        /* can't find server*/
  1516.     psNoSession                    = -6001,                        /* ADSP session died*/
  1517.                                                                 /* server errors*/
  1518.     psShutDown                    = -6002,                        /* server is shutting down*/
  1519.     psServerBusy                = -6003,                        /* server cannot process request*/
  1520.     psSnafu                        = -6004,                        /* server internal error*/
  1521.     psSessInUse                    = -6005,                        /* session is in use*/
  1522.     psBadUAM                    = -6006,                        /* UAM is not valid*/
  1523.     psNoSuchUser                = -6007,                        /* user name is not valid*/
  1524.     psNeedPswd                    = -6008,                        /* password required*/
  1525.     psBadPswd                    = -6009,                        /* password is not valid*/
  1526.     psNoGuest                    = -6010,                        /* "We don't serve their kind, here."*/
  1527.     psNoZoneGuest                = -6011,                        /* "We don't serve their kind, here."*/
  1528.     psWrongZone                    = -6012,                        /* Sorry, members only.*/
  1529.     psNotYet                    = -6013,                        /* please submit a Validate request*/
  1530.     psNoAuthInProg                = -6014,                        /* Validatation without Authentication*/
  1531.     psBadAuthID                    = -6015,                        /* authID is not valid*/
  1532.     psNoPriv                    = -6016,                        /* no privilege for attempted operation*/
  1533.     psBadCmd                    = -6017,                        /* APSP command is not valid*/
  1534.     psBadParm                    = -6018,                        /* APSP parameter is not valid*/
  1535.     psBadQueueID                = -6019,                        /* queueID is not valid*/
  1536.     psBadDeviceID                = -6020,                        /* deviceID is not valid*/
  1537.     psBadJobID                    = -6021,                        /* jobID is not valid*/
  1538.     psNoInfo                    = -6022,                        /* no information available*/
  1539.     psBadInfo                    = -6023,                        /* set info is not valid*/
  1540.     psSorry                        = -6099                            /* function not supported by server*/
  1541. };
  1542.  
  1543.  
  1544. /* -------------------------- Protocol Commands -------------------------*/
  1545.  
  1546.  
  1547. enum {
  1548.     psCloseSession                = 512,                            /* 0x0200        privNone*/
  1549.     psCloseSessionReply            = 513,                            /* 0x0201*/
  1550.     psAuthenticate                = 514,                            /* 0x0202        privNone*/
  1551.     psAuthenticateReply            = 515,                            /* 0x0203*/
  1552.     psValidate                    = 516,                            /* 0x0204        privNone*/
  1553.     psValidateReply                = 517,                            /* 0x0205*/
  1554.     psChangePassword            = 518,                            /* 0x0206        privChangePassword*/
  1555.     psChangePasswordReply        = 519,                            /* 0x0207*/
  1556.     psSendJob                    = 520,                            /* 0x0208        privSendJob*/
  1557.     psSendJobReply                = 521,                            /* 0x0209*/
  1558.     psAbortJob                    = 522,                            /* 0x020A        privSendJob*/
  1559.     psAbortJobReply                = 523,                            /* 0x020B*/
  1560.     psDeleteJob                    = 524,                            /* 0x020C        privDeleteXJob*/
  1561.     psDeleteJobReply            = 525,                            /* 0x020D*/
  1562.     psGetServerInfo                = 526,                            /* 0x020E        privNone*/
  1563.     psGetServerInfoReply        = 527,                            /* 0x020F*/
  1564.     psGetQueueList                = 528,                            /* 0x0210        privNone*/
  1565.     psGetQueueListReply            = 529,                            /* 0x0211*/
  1566.     psGetQueueInfo                = 530,                            /* 0x0212        privNone*/
  1567.     psGetQueueInfoReply            = 531,                            /* 0x0213*/
  1568.     psSetQueueInfo                = 532,                            /* 0x0214        privSetQueueInfo*/
  1569.     psSetQueueInfoReply            = 533,                            /* 0x0215*/
  1570.     psGetQueueState                = 534,                            /* 0x0216        privNone*/
  1571.     psGetQueueStateReply        = 535,                            /* 0x0217*/
  1572.     psSetQueueState                = 536,                            /* 0x0218        privSetQueueState*/
  1573.     psSetQueueStateReply        = 537,                            /* 0x0219*/
  1574.     psGetDeviceList                = 538,                            /* 0x021A        privNone*/
  1575.     psGetDeviceListReply        = 539,                            /* 0x021B*/
  1576.     psGetDeviceInfoList            = 540,                            /* 0x021C        privNone*/
  1577.     psGetDeviceInfoListReply    = 541,                            /* 0x021D*/
  1578.     psGetDeviceInfo                = 542,                            /* 0x021E        privNone*/
  1579.     psGetDeviceInfoReply        = 543,                            /* 0x021F*/
  1580.     psGetDeviceStatus            = 544,                            /* 0x0222        privGetXJobInfo*/
  1581.     psGetDeviceStatusReply        = 545,                            /* 0x0223*/
  1582.     psSetDeviceStatus            = 546,                            /* 0x0224        privSetXJobInfo*/
  1583.     psSetDeviceStatusReply        = 547,                            /* 0x0225*/
  1584.     psGetJobList                = 548,                            /* 0x0226        privConnect*/
  1585.     psGetJobListReply            = 549,                            /* 0x0227*/
  1586.     psGetJobInfo                = 550,                            /* 0x0228        privGetXJobInfo*/
  1587.     psGetJobInfoReply            = 551,                            /* 0x0229*/
  1588.     psSetJobInfo                = 552,                            /* 0x023A        privSetXJobInfo*/
  1589.     psSetJobInfoReply            = 553,                            /* 0x023B*/
  1590.     psRequirements                = 1024,                            /* 0x0400 client: list of imaging requirements*/
  1591.     psNeedResources                = 1025,                            /* 0x0401 server: list of resources needed for imaging*/
  1592.     psResources                    = 1026,                            /* 0x0402 client: resources for imaging*/
  1593.     psSpool                        = 1027,                            /* 0x0403 client: spool data*/
  1594.     psImage                        = 1028                            /* 0x0404 client: image data*/
  1595. };
  1596.  
  1597.  
  1598. /* --------------------------- Message Formats --------------------------*/
  1599.  
  1600. struct PSPHeader {
  1601.     short                             command;
  1602.     short                             version;
  1603.     short                             msgLength;
  1604.     short                             result;
  1605. };
  1606. typedef struct PSPHeader PSPHeader;
  1607.  
  1608. typedef PSPHeader *                        PSPHeaderPtr;
  1609. typedef PSPHeaderPtr *                    PSPHeaderHdl;
  1610. struct PSPParameter {
  1611.     unsigned long                     pLabel;                        /* parameter label*/
  1612.     long                             pID;                        /* parameter ID, hi word = attributes, lo word = id*/
  1613.     long                             pLength;                    /* parameter length*/
  1614.     Str255                             pName;                        /* parameter name; null-padded to word boundary*/
  1615.     unsigned char                     data[16];                    /* packed after name, null padded to word boundary*/
  1616. };
  1617. typedef struct PSPParameter PSPParameter;
  1618.  
  1619. typedef PSPParameter *                    PSPParameterPtr;
  1620. typedef PSPParameterPtr *                PSPParameterHdl;
  1621. /* ------------------------- Session Handling --------------------------*/
  1622.  
  1623. /* Close Session request and reply have no data*/
  1624.  
  1625. typedef Ptr *                            PSPCloseSessionPtr;
  1626. typedef PSPCloseSessionPtr *            PSPCloseSessionHdl;
  1627. typedef Ptr *                            PSPCloseSessionReplyPtr;
  1628. typedef PSPCloseSessionReplyPtr *        PSPCloseSessionReplyHdl;
  1629. /* --------------------------- Authentication --------------------------*/
  1630.  
  1631. /*
  1632.    Note:
  1633.    All PSPAuthenticate parameters are required, even if they are null.
  1634.    See PSP Specification for more information
  1635. */
  1636.  
  1637. struct PSPAuthenticate {
  1638.     UAMType                         uam;
  1639.     Str31                             userName;                    /* user name, packed and padded to word boundary*/
  1640.     Str31                             password;                    /* password, packed/padded*/
  1641.     Str32                             nbpName;                    /* nbp name registered on client node, packed/padded*/
  1642.     Str32                             nbpType;                    /* nbp type registered on client node, packed/padded*/
  1643. };
  1644. typedef struct PSPAuthenticate PSPAuthenticate;
  1645.  
  1646. typedef PSPAuthenticate *                PSPAuthenticatePtr;
  1647. typedef PSPAuthenticatePtr *            PSPAuthenticateHdl;
  1648. struct PSPAuthenticateReply {
  1649.     unsigned long                     privs;                        /* privileges granted, if any*/
  1650.     long                             authID;                        /* only if psNotYet, uamRandNum and uamTwoWay*/
  1651.     RandomNumber                     randNum;                    /* only if psNotYet, uamRandNum and uamTwoWay*/
  1652. };
  1653. typedef struct PSPAuthenticateReply PSPAuthenticateReply;
  1654.  
  1655. typedef PSPAuthenticateReply *            PSPAuthenticateReplyPtr;
  1656. typedef PSPAuthenticateReplyPtr *        PSPAuthenticateReplyHdl;
  1657. struct PSPValidate {
  1658.     long                             authID;
  1659.     RandomNumber                     encryptedPswd;                /* user's idea of password*/
  1660.     RandomNumber                     randNum;                    /* uamTwoWay only*/
  1661. };
  1662. typedef struct PSPValidate PSPValidate;
  1663.  
  1664. typedef PSPValidate *                    PSPValidatePtr;
  1665. typedef PSPValidatePtr *                PSPValidateHdl;
  1666. struct PSPValidateReply {
  1667.     unsigned long                     privs;                        /* privileges granted, if any*/
  1668.     long                             authID;
  1669.     RandomNumber                     encryptedPswd;                /* uamTwoWay only*/
  1670. };
  1671. typedef struct PSPValidateReply PSPValidateReply;
  1672.  
  1673. typedef PSPValidateReply *                PSPValidateReplyPtr;
  1674. typedef PSPValidateReplyPtr *            PSPValidateReplyHdl;
  1675. /*
  1676.    PSPChangePassword Note:
  1677.    if uamRandNum or uamTwoWay, then all 32 bytes of old/new password must be present
  1678. */
  1679. struct PSPChangePassword {
  1680.     UAMType                         uam;
  1681.     Str31                             userName;                    /* null padded to word*/
  1682.     Str31                             oldPassword;                /* packed after userName, null padded to word*/
  1683.     Str31                             newPassword;                /* packed after oldPassword, null padded to word*/
  1684. };
  1685. typedef struct PSPChangePassword PSPChangePassword;
  1686.  
  1687. typedef PSPChangePassword *                PSPChangePasswordPtr;
  1688. typedef PSPChangePasswordPtr *            PSPChangePasswordHdl;
  1689. typedef Ptr *                            PSPChangePasswordReplyPtr;
  1690. typedef PSPChangePasswordReplyPtr *        PSPChangePasswordReplyHdl;
  1691. /* --------------------------- Job Submission --------------------------*/
  1692.  
  1693. struct PSPSendJob {
  1694.     short                             imageLocally;                /* actually a boolean, 0=FALSE, 1=TRUE*/
  1695.     long                             driverVers;
  1696.     long                             tackleboxVers;
  1697.     long                             macType;
  1698. };
  1699. typedef struct PSPSendJob PSPSendJob;
  1700.  
  1701. typedef PSPSendJob *                    PSPSendJobPtr;
  1702. typedef PSPSendJobPtr *                    PSPSendJobHdl;
  1703. struct PSPSendJobReply {
  1704.     short                             imageLocally;                /* actually a boolean, 0=FALSE, 1=TRUE*/
  1705.     long                             queueID;
  1706.     long                             deviceID;
  1707.     long                             jobID;
  1708. };
  1709. typedef struct PSPSendJobReply PSPSendJobReply;
  1710.  
  1711. typedef PSPSendJobReply *                PSPSendJobReplyPtr;
  1712. typedef PSPSendJobReplyPtr *            PSPSendJobReplyHdl;
  1713. struct PSPAbortJob {
  1714.     long                             queueID;
  1715.     long                             deviceID;
  1716.     long                             jobID;
  1717. };
  1718. typedef struct PSPAbortJob PSPAbortJob;
  1719.  
  1720. typedef PSPAbortJob *                    PSPAbortJobPtr;
  1721. typedef PSPAbortJobPtr *                PSPAbortJobHdl;
  1722. struct PSPAbortJobReply {
  1723.     long                             queueID;
  1724.     long                             deviceID;
  1725.     long                             jobID;
  1726. };
  1727. typedef struct PSPAbortJobReply PSPAbortJobReply;
  1728.  
  1729. typedef PSPAbortJobReply *                PSPAbortJobReplyPtr;
  1730. typedef PSPAbortJobReplyPtr *            PSPAbortJobReplyHdl;
  1731. struct PSPDeleteJob {
  1732.     long                             queueID;
  1733.     long                             deviceID;
  1734.     long                             jobID;
  1735. };
  1736. typedef struct PSPDeleteJob PSPDeleteJob;
  1737.  
  1738. typedef PSPDeleteJob *                    PSPDeleteJobPtr;
  1739. typedef PSPDeleteJobPtr *                PSPDeleteJobHdl;
  1740. struct PSPDeleteJobReply {
  1741.     long                             queueID;
  1742.     long                             deviceID;
  1743.     long                             jobID;
  1744. };
  1745. typedef struct PSPDeleteJobReply PSPDeleteJobReply;
  1746.  
  1747. typedef PSPDeleteJobReply *                PSPDeleteJobReplyPtr;
  1748. typedef PSPDeleteJobReplyPtr *            PSPDeleteJobReplyHdl;
  1749. /* --------------------------- Server Commands --------------------------*/
  1750.  
  1751. struct PSPGetServerInfo {
  1752.     long                             magicCookie;                /* psNoCookies if not supported*/
  1753. };
  1754. typedef struct PSPGetServerInfo PSPGetServerInfo;
  1755.  
  1756. typedef PSPGetServerInfo *                PSPGetServerInfoPtr;
  1757. typedef PSPGetServerInfoPtr *            PSPGetServerInfoHdl;
  1758. struct PSPGetServerInfoReply {
  1759.     long                             magicCookie;                /* psNoCookies if not supported*/
  1760.     short                             flags;                        /* bit field, see above*/
  1761.     short                             versionCount;
  1762.     short                             versions[1];
  1763.     short                             uamCount;
  1764.     UAMType                         uams[1];
  1765.     IntlStr31                         serverName;
  1766. };
  1767. typedef struct PSPGetServerInfoReply PSPGetServerInfoReply;
  1768.  
  1769. typedef PSPGetServerInfoReply *            PSPGetServerInfoReplyPtr;
  1770. typedef PSPGetServerInfoReplyPtr *        PSPGetServerInfoReplyHdl;
  1771. /* --------------------------- Queue Commands --------------------------*/
  1772.  
  1773. struct PSPGetQueueList {
  1774.     long                             magicCookie;                /* psNoCookies if not supported*/
  1775. };
  1776. typedef struct PSPGetQueueList PSPGetQueueList;
  1777.  
  1778. typedef PSPGetQueueList *                PSPGetQueueListPtr;
  1779. typedef PSPGetQueueListPtr *            PSPGetQueueListHdl;
  1780. struct PSPGetQueueListReply {
  1781.     long                             magicCookie;                /* psNoCookies if not supported*/
  1782.     long                             count;
  1783.     long                             queueIDs[1];
  1784. };
  1785. typedef struct PSPGetQueueListReply PSPGetQueueListReply;
  1786.  
  1787. typedef PSPGetQueueListReply *            PSPGetQueueListReplyPtr;
  1788. typedef PSPGetQueueListReplyPtr *        PSPGetQueueListReplyHdl;
  1789. struct PSPGetQueueInfo {
  1790.     long                             queueID;
  1791.     long                             magicCookie;                /* psNoCookies if not supported*/
  1792. };
  1793. typedef struct PSPGetQueueInfo PSPGetQueueInfo;
  1794.  
  1795. typedef PSPGetQueueInfo *                PSPGetQueueInfoPtr;
  1796. typedef PSPGetQueueInfoPtr *            PSPGetQueueInfoHdl;
  1797. struct PSPGetQueueInfoReply {
  1798.     long                             queueID;
  1799.     long                             magicCookie;                /* psNoCookies if not supported*/
  1800.     char                             queueInfo[16];                /* ??? not defined*/
  1801. };
  1802. typedef struct PSPGetQueueInfoReply PSPGetQueueInfoReply;
  1803.  
  1804. typedef PSPGetQueueInfoReply *            PSPGetQueueInfoReplyPtr;
  1805. typedef PSPGetQueueInfoReplyPtr *        PSPGetQueueInfoReplyHdl;
  1806. struct PSPSetQueueInfo {
  1807.     long                             queueID;
  1808.     long                             magicCookie;                /* psNoCookies if not supported*/
  1809.     char                             queueInfo[16];                /* ??? not defined*/
  1810. };
  1811. typedef struct PSPSetQueueInfo PSPSetQueueInfo;
  1812.  
  1813. typedef PSPSetQueueInfo *                PSPSetQueueInfoPtr;
  1814. typedef PSPSetQueueInfoPtr *            PSPSetQueueInfoHdl;
  1815. struct PSPSetQueueInfoReply {
  1816.     long                             queueID;
  1817.     long                             magicCookie;                /* psNoCookies if not supported*/
  1818. };
  1819. typedef struct PSPSetQueueInfoReply PSPSetQueueInfoReply;
  1820.  
  1821. typedef PSPSetQueueInfoReply *            PSPSetQueueInfoReplyPtr;
  1822. typedef PSPSetQueueInfoReplyPtr *        PSPSetQueueInfoReplyHdl;
  1823. struct PSPGetQueueState {
  1824.     long                             queueID;
  1825.     long                             magicCookie;                /* psNoCookies if not supported*/
  1826. };
  1827. typedef struct PSPGetQueueState PSPGetQueueState;
  1828.  
  1829. typedef PSPGetQueueState *                PSPGetQueueStatePtr;
  1830. typedef PSPGetQueueStatePtr *            PSPGetQueueStateHdl;
  1831. struct PSPGetQueueStateReply {
  1832.     long                             queueID;
  1833.     long                             magicCookie;                /* psNoCookies if not supported*/
  1834.     unsigned long                     queueState;                    /* see bitfield above*/
  1835. };
  1836. typedef struct PSPGetQueueStateReply PSPGetQueueStateReply;
  1837.  
  1838. typedef PSPGetQueueStateReply *            PSPGetQueueStateReplyPtr;
  1839. typedef PSPGetQueueStateReplyPtr *        PSPGetQueueStateReplyHdl;
  1840. struct PSPSetQueueState {
  1841.     long                             queueID;
  1842.     long                             magicCookie;                /* psNoCookies if not supported*/
  1843.     unsigned long                     queueState;                    /* see bitfield above*/
  1844. };
  1845. typedef struct PSPSetQueueState PSPSetQueueState;
  1846.  
  1847. typedef PSPSetQueueState *                PSPSetQueueStatePtr;
  1848. typedef PSPSetQueueStatePtr *            PSPSetQueueStateHdl;
  1849. struct PSPSetQueueStateReply {
  1850.     long                             queueID;
  1851.     long                             magicCookie;                /* psNoCookies if not supported*/
  1852. };
  1853. typedef struct PSPSetQueueStateReply PSPSetQueueStateReply;
  1854.  
  1855. typedef PSPSetQueueStateReply *            PSPSetQueueStateReplyPtr;
  1856. typedef PSPSetQueueStateReplyPtr *        PSPSetQueueStateReplyHdl;
  1857. /* --------------------------- Device Commands --------------------------*/
  1858.  
  1859. struct PSPGetDeviceList {
  1860.     long                             queueID;
  1861.     long                             magicCookie;                /* psNoCookies if not supported*/
  1862. };
  1863. typedef struct PSPGetDeviceList PSPGetDeviceList;
  1864.  
  1865. typedef PSPGetDeviceList *                PSPGetDeviceListPtr;
  1866. typedef PSPGetDeviceListPtr *            PSPGetDeviceListHdl;
  1867. struct PSPGetDeviceListReply {
  1868.     long                             queueID;
  1869.     long                             magicCookie;                /* psNoCookies if not supported*/
  1870.     long                             idCount;
  1871.     long                             deviceIDs[1];
  1872. };
  1873. typedef struct PSPGetDeviceListReply PSPGetDeviceListReply;
  1874.  
  1875. typedef PSPGetDeviceListReply *            PSPGetDeviceListReplyPtr;
  1876. typedef PSPGetDeviceListReplyPtr *        PSPGetDeviceListReplyHdl;
  1877. struct PSPGetDeviceInfoList {
  1878.     long                             queueID;
  1879.     long                             deviceID;
  1880.     long                             magicCookie;                /* psNoCookies if not supported*/
  1881. };
  1882. typedef struct PSPGetDeviceInfoList PSPGetDeviceInfoList;
  1883.  
  1884. typedef PSPGetDeviceInfoList *            PSPGetDeviceInfoListPtr;
  1885. typedef PSPGetDeviceInfoListPtr *        PSPGetDeviceInfoListHdl;
  1886. struct PSPDevInfoTuple {
  1887.     unsigned long                     infoType;
  1888.     long                             infoID;
  1889. };
  1890. typedef struct PSPDevInfoTuple PSPDevInfoTuple;
  1891.  
  1892. struct PSPGetDeviceInfoListReply {
  1893.     long                             queueID;
  1894.     long                             deviceID;
  1895.     long                             magicCookie;                /* psNoCookies if not supported*/
  1896.     long                             infoCount;
  1897.     PSPDevInfoTuple                 infoList[1];
  1898. };
  1899. typedef struct PSPGetDeviceInfoListReply PSPGetDeviceInfoListReply;
  1900.  
  1901. typedef PSPGetDeviceInfoListReply *        PSPGetDeviceInfoListReplyPtr;
  1902. typedef PSPGetDeviceInfoListReplyPtr *    PSPGetDeviceInfoListReplyHdl;
  1903. struct PSPGetDeviceInfo {
  1904.     long                             queueID;
  1905.     long                             deviceID;
  1906.     unsigned long                     infoType;                    /* info type we would like*/
  1907.     long                             infoID;                        /* info id we would like*/
  1908.     long                             magicCookie;                /* psNoCookies if not supported*/
  1909. };
  1910. typedef struct PSPGetDeviceInfo PSPGetDeviceInfo;
  1911.  
  1912. typedef PSPGetDeviceInfo *                PSPGetDeviceInfoPtr;
  1913. typedef PSPGetDeviceInfoPtr *            PSPGetDeviceInfoHdl;
  1914. struct PSPGetDeviceInfoReply {
  1915.     long                             queueID;
  1916.     long                             deviceID;
  1917.     long                             magicCookie;                /* psNoCookies if not supported*/
  1918.     PSPParameter                     devInfo;                    /* arbitrary*/
  1919. };
  1920. typedef struct PSPGetDeviceInfoReply PSPGetDeviceInfoReply;
  1921.  
  1922. typedef PSPGetDeviceInfoReply *            PSPGetDeviceInfoReplyPtr;
  1923. typedef PSPGetDeviceInfoReplyPtr *        PSPGetDeviceInfoReplyHdl;
  1924. struct PSPGetDeviceStatus {
  1925.     long                             queueID;
  1926.     long                             deviceID;
  1927.     long                             magicCookie;
  1928. };
  1929. typedef struct PSPGetDeviceStatus PSPGetDeviceStatus;
  1930.  
  1931. typedef PSPGetDeviceStatus *            PSPGetDeviceStatusPtr;
  1932. typedef PSPGetDeviceStatusPtr *            PSPGetDeviceStatusHdl;
  1933. struct PSPGetDeviceStatusReply {
  1934.     long                             queueID;
  1935.     long                             deviceID;                    /* device job is printing on*/
  1936.     long                             magicCookie;                /* psNoCookies if not supported*/
  1937.     long                             jobID;                        /* currently printing job*/
  1938.     unsigned long                     queueState;                    /* state of queue (ie, stopped etc)*/
  1939.     long                             userCount;                    /* # users on this server*/
  1940.     long                             page;                        /* which page is currently printing*/
  1941.     Fixed                             percentage;                    /* percentage complete*/
  1942.     long                             statusSize;                    /* size of status info*/
  1943.     char                             status[512];                /* device-supplied info about job*/
  1944. };
  1945. typedef struct PSPGetDeviceStatusReply PSPGetDeviceStatusReply;
  1946.  
  1947. typedef PSPGetDeviceStatusReply *        PSPGetDeviceStatusReplyPtr;
  1948. typedef PSPGetDeviceStatusReplyPtr *    PSPGetDeviceStatusReplyHdl;
  1949. struct PSPSetDeviceStatus {
  1950.     long                             queueID;
  1951.     long                             deviceID;
  1952.     long                             magicCookie;                /* psNoCookies if not supported*/
  1953.     long                             jobID;                        /* which job is currently printing*/
  1954.     long                             statusSize;                    /* size of status info*/
  1955.     char                             status[512];                /* device-supplied info about job*/
  1956. };
  1957. typedef struct PSPSetDeviceStatus PSPSetDeviceStatus;
  1958.  
  1959. typedef PSPSetDeviceStatus *            PSPSetDeviceStatusPtr;
  1960. typedef PSPSetDeviceStatusPtr *            PSPSetDeviceStatusHdl;
  1961. struct PSPSetDeviceStatusReply {
  1962.     long                             queueID;
  1963.     long                             deviceID;
  1964.     long                             magicCookie;
  1965. };
  1966. typedef struct PSPSetDeviceStatusReply PSPSetDeviceStatusReply;
  1967.  
  1968. typedef PSPSetDeviceStatusReply *        PSPSetDeviceStatusReplyPtr;
  1969. typedef PSPSetDeviceStatusReplyPtr *    PSPSetDeviceStatusReplyHdl;
  1970. /* --------------------------- Job Commands --------------------------*/
  1971.  
  1972. struct PSPGetJobList {
  1973.     long                             queueID;
  1974.     long                             deviceID;
  1975.     long                             magicCookie;                /* psNoCookies if not supported*/
  1976. };
  1977. typedef struct PSPGetJobList PSPGetJobList;
  1978.  
  1979. typedef PSPGetJobList *                    PSPGetJobListPtr;
  1980. typedef PSPGetJobListPtr *                PSPGetJobListHdl;
  1981. struct PSPGetJobListReply {
  1982.     long                             queueID;
  1983.     long                             deviceID;
  1984.     long                             magicCookie;                /* psNoCookies if not supported*/
  1985.     long                             idCount;
  1986.     long                             jobIDs[16];
  1987. };
  1988. typedef struct PSPGetJobListReply PSPGetJobListReply;
  1989.  
  1990. typedef PSPGetJobListReply *            PSPGetJobListReplyPtr;
  1991. typedef PSPGetJobListReplyPtr *            PSPGetJobListReplyHdl;
  1992. struct PSPGetJobInfo {
  1993.     long                             queueID;                    /* target queue*/
  1994.     long                             deviceID;
  1995.     long                             jobID;                        /* target job*/
  1996.     long                             magicCookie;                /* psNoCookies if not supported*/
  1997. };
  1998. typedef struct PSPGetJobInfo PSPGetJobInfo;
  1999.  
  2000. typedef PSPGetJobInfo *                    PSPGetJobInfoPtr;
  2001. typedef PSPGetJobInfoPtr *                PSPGetJobInfoHdl;
  2002. struct PSPJobName {
  2003.                                                                 /* these strings are packed and word-aligned*/
  2004.     Str31                             appName;                    /* application that created this job*/
  2005.     Str31                             documentName;                /* name of document being printed*/
  2006.     Str31                             userName;                    /* user who submitted the job*/
  2007. };
  2008. typedef struct PSPJobName PSPJobName;
  2009.  
  2010. typedef PSPJobName *                    PSPJobNamePtr;
  2011. typedef PSPJobNamePtr *                    PSPJobNameHdl;
  2012. struct PSPGetJobInfoReply {
  2013.     long                             queueID;                    /* target queue*/
  2014.     long                             deviceID;                    /* target device*/
  2015.     long                             jobID;                        /* target job*/
  2016.     long                             magicCookie;                /* psNoCookies if not supported*/
  2017.     long                             priority;                    /* job priority*/
  2018.     unsigned long                     timeToPrint;                /* absolute time of job*/
  2019.     long                             jobTimeout;                    /* in ticks*/
  2020.     long                             firstPageToPrint;            /* start printing from this page*/
  2021.     long                             jobAlert;                    /* when to alert user*/
  2022.     long                             numPages;                    /* pages of job*/
  2023.     long                             numCopies;                    /* number of copies being printed*/
  2024.     unsigned long                     jobType;                    /* type of job*/
  2025.     JobName                         s;                            /* job name information*/
  2026. };
  2027. typedef struct PSPGetJobInfoReply PSPGetJobInfoReply;
  2028.  
  2029. typedef PSPGetJobInfoReply *            PSPGetJobInfoReplyPtr;
  2030. typedef PSPGetJobInfoReplyPtr *            PSPGetJobInfoReplyHdl;
  2031. struct PSPSetJobInfo {
  2032.     long                             queueID;                    /* target queue*/
  2033.     long                             deviceID;                    /* target device*/
  2034.     long                             jobID;                        /* target job*/
  2035.     long                             magicCookie;                /* psNoCookies if not supported*/
  2036.     long                             priority;                    /* new job priority*/
  2037.     unsigned long                     timeToPrint;                /* new absolute time of job*/
  2038.     long                             jobTimeout;                    /* new timeout in ticks*/
  2039.     long                             firstPageToPrint;            /* start printing from this page*/
  2040.     long                             numCopies;                    /* number of copies to print*/
  2041.     long                             jobAlert;                    /* new place to alert user*/
  2042. };
  2043. typedef struct PSPSetJobInfo PSPSetJobInfo;
  2044.  
  2045. typedef PSPSetJobInfo *                    PSPSetJobInfoPtr;
  2046. typedef PSPSetJobInfoPtr *                PSPSetJobInfoHdl;
  2047. struct PSPSetJobInfoReply {
  2048.     long                             queueID;                    /* target queue*/
  2049.     long                             deviceID;                    /* target device*/
  2050.     long                             jobID;                        /* target job*/
  2051.     long                             magicCookie;                /* psNoCookies if not supported*/
  2052. };
  2053. typedef struct PSPSetJobInfoReply PSPSetJobInfoReply;
  2054.  
  2055. typedef PSPSetJobInfoReply *            PSPSetJobInfoReplyPtr;
  2056. typedef PSPSetJobInfoReplyPtr *            PSPSetJobInfoReplyHdl;
  2057. /* --------------------------- Data Channel Formats --------------------------*/
  2058.  
  2059. struct PSPDataHeader {
  2060.     short                             command;
  2061.     OSErr                             result;
  2062.     long                             count;
  2063.     long                             msgLen;
  2064. };
  2065. typedef struct PSPDataHeader PSPDataHeader;
  2066.  
  2067. typedef PSPDataHeader *                    PSPDataHeaderPtr;
  2068. typedef PSPDataHeaderPtr *                PSPDataHeaderHdl;
  2069. struct PSPData {
  2070.     PSPDataHeader                     hdr;
  2071.     PSPParameter                     parms[1];
  2072. };
  2073. typedef struct PSPData PSPData;
  2074.  
  2075. typedef PSPData *                        PSPDataPtr;
  2076. typedef PSPDataPtr *                    PSPDataHdl;
  2077. struct PSPEndOfJobData {
  2078.     short                             command;                    /* always psSpool*/
  2079.     OSErr                             result;                        /* the error*/
  2080.     long                             count;                        /* always 0*/
  2081.     long                             msgLen;                        /* always sizeof(PSPEndOfJobData) */
  2082. };
  2083. typedef struct PSPEndOfJobData PSPEndOfJobData;
  2084.  
  2085. typedef PSPEndOfJobData *                PSPEndOfJobDataPtr;
  2086. typedef PSPEndOfJobDataPtr *            PSPEndOfJobDataHdl;
  2087. struct PSPExtensionData {
  2088.     OSType                             creatorType;                /* type of the extension*/
  2089.     long                             version;                    /* version of the extension*/
  2090.     long                             flags;                        /* flags (where to use) for the extension*/
  2091. };
  2092. typedef struct PSPExtensionData PSPExtensionData;
  2093.  
  2094. typedef PSPExtensionData *                PSPExtensionDataPtr;
  2095. /* ================================================================================ */
  2096. /* ******* SHARED APPLETALK CONSTANTS AND TYPES ********/
  2097.  
  2098. enum {
  2099.     noConnection                = psNoServer,                    /* no connection open*/
  2100.     connectionDied                = psNoSession,                    /* lost contact with remote end*/
  2101.     connectionBusy                = psSessInUse,                    /* channel needed is busy*/
  2102.     privViolation                = psNoPriv,                        /* user has no priv for command*/
  2103.     serverIsFake                = psSorry - 1                    /* server doesn't really know our password - liar!*/
  2104. };
  2105.  
  2106. /* for SACloseConnection*/
  2107.  
  2108. enum {
  2109.     kAbort                        = true,                            /* abort pending I/O*/
  2110.     kDontAbort                    = false,                        /* don't abort pending I/O*/
  2111.     kRemove                        = true,                            /* call dspRemove*/
  2112.     kDontRemove                    = false,                        /* call dspClose*/
  2113.     kJustClose                    = false                            /* call dspClose*/
  2114. };
  2115.  
  2116. /* These constants control the size of connection buffers*/
  2117.  
  2118. enum {
  2119.     dspQSize                    = 1536,                            /* Size of internal queues (too big? too small?)*/
  2120.     dataMax                        = 1024,                            /* Size of a data send/receive (max)*/
  2121.     attnMax                        = attnBufSize                    /* Size of a single attention fragment (max)*/
  2122. };
  2123.  
  2124. /* Idler Proc for I/O calls*/
  2125. typedef CALLBACK_API_C( OSErr , WaitProcPtr )(void );
  2126. typedef STACK_UPP_TYPE(WaitProcPtr)                             WaitUPP;
  2127. enum { uppWaitProcInfo = 0x00000021 };                             /* 2_bytes Func() */
  2128. #define NewWaitProc(userRoutine)                                 (WaitUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppWaitProcInfo, GetCurrentArchitecture())
  2129. #define CallWaitProc(userRoutine)                                 CALL_ZERO_PARAMETER_UPP((userRoutine), uppWaitProcInfo)
  2130. /* Record used for sending file info across the network*/
  2131. struct FileInfoRec {
  2132.     FInfo                             ioFlFndrInfo;
  2133.     unsigned long                     ioFlCrDat;
  2134.     unsigned long                     ioFlMdDat;
  2135. };
  2136. typedef struct FileInfoRec FileInfoRec;
  2137.  
  2138. typedef FileInfoRec *                    FileInfoPtr;
  2139. /*
  2140.    DoToFile proc for SAWalkFolder
  2141.    return true to keep walking, false to stop
  2142. */
  2143. typedef CALLBACK_API_C( Boolean , DoToFileProcPtr )(HParmBlkPtr pb, long foo, long bar);
  2144. typedef STACK_UPP_TYPE(DoToFileProcPtr)                         DoToFileUPP;
  2145. enum { uppDoToFileProcInfo = 0x00000FD1 };                         /* 1_byte Func(4_bytes, 4_bytes, 4_bytes) */
  2146. #define NewDoToFileProc(userRoutine)                             (DoToFileUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDoToFileProcInfo, GetCurrentArchitecture())
  2147. #define CallDoToFileProc(userRoutine, pb, foo, bar)             CALL_THREE_PARAMETER_UPP((userRoutine), uppDoToFileProcInfo, (pb), (foo), (bar))
  2148. struct NetRange {
  2149.     unsigned short                     loNet;
  2150.     unsigned short                     hiNet;
  2151. };
  2152. typedef struct NetRange NetRange;
  2153.  
  2154. typedef NetRange *                        NetRangePtr;
  2155. typedef NetRangePtr *                    NetRangeHdl;
  2156. /* ------------------------- PSP Parameter Block ------------------------*/
  2157.  
  2158. struct PSPParamBlock {
  2159.     DSPParamBlock                     dspPB;                        /* dsp parameter block*/
  2160.     Ptr                             cPtr;                        /* pointer to owning connection*/
  2161. };
  2162. typedef struct PSPParamBlock PSPParamBlock;
  2163.  
  2164. typedef PSPParamBlock *                    PSPPBPtr;
  2165. /* -------------------------- Connection Record -------------------------*/
  2166. /*
  2167.    The connection record is all of the data needed for one end of a
  2168.    connection between the server and the client, note that both client and server
  2169.    actually have their own version of this record, with additional fields added
  2170.    to the end.
  2171. */
  2172.  
  2173. struct ConnectionRecord {
  2174.     TRCCB                             theCCB;                        /* Connection control block for this end*/
  2175.     short                             dspRefNum;                    /* The ADSP refNum*/
  2176.     short                             theCCBRefNum;                /* RefNum of the CCB*/
  2177.     char                             sendBuf[1536];                /* ADSP-owned send queue*/
  2178.     char                             recvBuf[1536];                /* ADSP-owned receive queue*/
  2179.     char                             attnBuf[570];                /* ADSP-owned attention queue*/
  2180.  
  2181.     Boolean                         locked;                        /* true if (completion) segment is locked*/
  2182.     char                             pad1;
  2183.  
  2184.     PSPParamBlock                     dataPB;                        /* pb for send*/
  2185.     char                             dataBuffer[1024];            /* double-buffer for send*/
  2186.     Boolean                         dataBusy;                    /* data buffer is active*/
  2187.     char                             pad2;
  2188.  
  2189.     Handle                             recvBuffer;                    /* double buffer for attn in*/
  2190.     char *                            recvFragPtr;                /* place to put new frags*/
  2191.     Size                             recvBufferSize;                /* current size of recvBuffer*/
  2192.     Size                             recvBufferDelta;            /* resize recvBuffer by this much*/
  2193.     Boolean                         recvFrags;                    /* TRUE when handling a multi-frag msg*/
  2194.     char                             pad3;
  2195.  
  2196.     PSPParamBlock                     attnPB;                        /* pb for attn (send)*/
  2197.     Handle                             sendBuffer;                    /* double buffer for attn in*/
  2198.     char *                            sendFragPtr;                /* place to put new frags*/
  2199.     Size                             sendBufferSize;                /* current size of sendBuffer*/
  2200.     Size                             sendBufferDelta;            /* amount sent so far*/
  2201.     Boolean                         sendFrags;                    /* sendBuffer is in use*/
  2202.     Boolean                         attnBusy;                    /* sendBuffer is in use*/
  2203. };
  2204. typedef struct ConnectionRecord ConnectionRecord;
  2205.  
  2206. typedef ConnectionRecord *                ConnectionPtr;
  2207. /* Definition of a network address*/
  2208. struct AddrBlk {
  2209.     short                             aNet;                        /* network number*/
  2210.     char                             aNode;                        /* node number*/
  2211.     char                             aSocket;                    /* socket number*/
  2212. };
  2213. typedef struct AddrBlk AddrBlk;
  2214.  
  2215. /* PAP Driver Protocol Specific Info.*/
  2216. struct PAPSpecData {
  2217.     ResType                         commType;                    /* communications type ('PPTL')*/
  2218.  
  2219.     unsigned short                     flowQuantum;                /* Number of 512 byte buffers allocated by PAP for read operations*/
  2220.     unsigned char                     printerName[99];            /* Name of the printer to connect to*/
  2221.     char                             pad;
  2222.     Ptr                             openStatusBuff;                /* Pointer to status buff used during open requests*/
  2223.     Ptr                             eofReadByte;                /* Location to store EOF byte during read operation*/
  2224.     Ptr                             eofWriteByte;                /* Pointer to EOF byte to use on write operations*/
  2225.     AddrBlk                         lastNetAddr;                /* Most recent network address of the printer*/
  2226. };
  2227. typedef struct PAPSpecData PAPSpecData;
  2228.  
  2229. typedef PAPSpecData *                    TPPAPSpecData;
  2230. typedef TPPAPSpecData *                    THPAPSpecData;
  2231. /* Function pointer for device acquire function*/
  2232. typedef CALLBACK_API_C( short , SCSIAcqIntfProcPtr )(short *scsiDeviceNum, short scsiBusNum);
  2233. typedef STACK_UPP_TYPE(SCSIAcqIntfProcPtr)                         SCSIAcqIntfUPP;
  2234. enum { uppSCSIAcqIntfProcInfo = 0x000002E1 };                     /* 2_bytes Func(4_bytes, 2_bytes) */
  2235. #define NewSCSIAcqIntfProc(userRoutine)                         (SCSIAcqIntfUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSCSIAcqIntfProcInfo, GetCurrentArchitecture())
  2236. #define CallSCSIAcqIntfProc(userRoutine, scsiDeviceNum, scsiBusNum)  CALL_TWO_PARAMETER_UPP((userRoutine), uppSCSIAcqIntfProcInfo, (scsiDeviceNum), (scsiBusNum))
  2237. /* Function pointer for device release function*/
  2238. typedef CALLBACK_API_C( short , SCSIRelIntfProcPtr )(short scsiDeviceNum, short scsiBusNum);
  2239. typedef STACK_UPP_TYPE(SCSIRelIntfProcPtr)                         SCSIRelIntfUPP;
  2240. enum { uppSCSIRelIntfProcInfo = 0x000002A1 };                     /* 2_bytes Func(2_bytes, 2_bytes) */
  2241. #define NewSCSIRelIntfProc(userRoutine)                         (SCSIRelIntfUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSCSIRelIntfProcInfo, GetCurrentArchitecture())
  2242. #define CallSCSIRelIntfProc(userRoutine, scsiDeviceNum, scsiBusNum)  CALL_TWO_PARAMETER_UPP((userRoutine), uppSCSIRelIntfProcInfo, (scsiDeviceNum), (scsiBusNum))
  2243. /* SCSI I/O Driver, Protocol Specific Info.*/
  2244. struct SCSISpecData {
  2245.     ResType                         commType;                    /* communications type ('sPTL')*/
  2246.  
  2247.     SCSIRelIntfUPP                     releaseDevice;                /* Pointer to C routine that can release SCSI device, can be nil*/
  2248.     short                             scsiIOAttributes;            /* SCSI I/O attributes applicable to data xfers*/
  2249.     short *                            statusByte;                    /* Location to store status byte from data xfer operation, can be nil*/
  2250.     short                             scsiBus;                    /* Number of scsi bus to which device is attached (0 = motherboard; applies to open connection call only).*/
  2251.     short                             deviceNum;                    /* Number of scsi device to open connection to (applies to open connection call only).*/
  2252.     long                             bytesPerChunk;                /* 0 => ignored; > 0 => break data transfer into chunks of this size (at SCSI TIB level)*/
  2253.     SCSIAcqIntfUPP                     acquireDevice;                /* Pointer to C routine that can acquire SCSI device, nil == use info below in standard routine*/
  2254.     short                             deviceKind;                    /* device kind to look for in reponse*/
  2255.     short                             minLength;                    /* minimum additional data to get in response*/
  2256.     short                             offsetStart;                /* offset from start of returned data to look at*/
  2257.     Str255                             searchString;                /* string to search for in the response*/
  2258. };
  2259. typedef struct SCSISpecData SCSISpecData;
  2260.  
  2261. typedef SCSISpecData *                    TPSCSISpecData;
  2262. typedef TPSCSISpecData *                THSCSISpecData;
  2263. /* Serial I/O Driver Protocol Specific Info.*/
  2264. struct SerialSpecData {
  2265.     ResType                         commType;                    /* communications type ('SPTL')*/
  2266.  
  2267.     short                             outBaudRate;                /* Baud rate setting for serial output port*/
  2268.     short                             outParity;                    /* Parity setting for serial output port*/
  2269.     short                             outStopBits;                /* Stop bits setting for serial output port*/
  2270.     short                             outDataBits;                /* Data bits setting for serial output port*/
  2271.     SerShk                             outHandShaking;                /* Hardware handshaking spec. for serial output port*/
  2272.     short                             inBaudRate;                    /* Baud rate setting for serial input port*/
  2273.     short                             inParity;                    /* Parity setting for serial input port*/
  2274.     short                             inStopBits;                    /* Stop bits setting for serial input port*/
  2275.     short                             inDataBits;                    /* Data bits setting for serial input port*/
  2276.     SerShk                             inHandShaking;                /* Hardware handshaking spec. for serial input port*/
  2277.     unsigned short                     inputBuffSz;                /* Input serial port buffer size*/
  2278.     Str63                             inPortName;                    /* Specifies name of serial input driver to open (Pascal string)*/
  2279.     Str63                             outPortName;                /* Specifies name of serial output driver to open (Pascal string)*/
  2280. };
  2281. typedef struct SerialSpecData SerialSpecData;
  2282.  
  2283. typedef SerialSpecData *                TPSerialSpecData;
  2284. typedef TPSerialSpecData *                THSerialSpecData;
  2285. /* The 'over' resource*/
  2286.  
  2287. struct OverrideResourceEntry {
  2288.     short                             messageID;                    /* Message being overridden */
  2289.     long                             dispatch1;                    /* Placeholder for first dispatch selector */
  2290.     long                             dispatch2;                    /* Placeholder for second dispatch selector */
  2291. };
  2292. typedef struct OverrideResourceEntry OverrideResourceEntry;
  2293.  
  2294.  
  2295. struct OverrideResource {
  2296.     short                             numOverrides;                /* Number of overrides */
  2297.     OverrideResourceEntry             overrides[1];                /* The overrides */
  2298. };
  2299. typedef struct OverrideResource OverrideResource;
  2300.  
  2301. typedef OverrideResource *                OverrideResourcePtr;
  2302. typedef OverrideResourcePtr *            OverrideResourceHandle;
  2303. /* compatibility management types...*/
  2304.  
  2305. /* values for compatibility flags - PrGluePatch.a has dependency!*/
  2306.  
  2307. enum {
  2308.     kDontCacheAllocations        = (long)0x80000000,                /* some apps (MPW) clean up after printing*/
  2309.     kAlwaysDoPrClose            = 0x40000000,                    /* kDontCacheAllocations implies this as well*/
  2310.     kDontPatchExitToShell        = 0x20000000,                    /* if app cleans up after printing, but doesn't call PrClose through trap*/
  2311.     kDoShowpageBefRestore        = 0x10000000,                    /* if the app generates all of its own PostScript and uses frame device operators*/
  2312.     kDontTranlateAtDeviceRes    = 0x08000000,                    /* don't perform translation at device resolution*/
  2313.     kPSIgnoreTransformList        = 0x04000000,                    /* for some apps that generate all of its own PostScript, ignore transforms and don't do gsave/grestores.*/
  2314.     kPSUseMac8bitEncoding        = 0x02000000,                    /* For Apps that that generate all of its own PostScript, download fonts using mac 8 bit encoding - download all glyphs in encoding*/
  2315.     kPSIncludeLaserPrep            = 0x01000000,                    /* For Apps that that use LaserPrep*/
  2316.     kIgnorePSPicComments        = 0x00800000,                    /* For Apps that have bogus PS comments*/
  2317.     kMaintainColorAcrossRestores = 0x00400000,                    /* For Apps that depend on the color staying the same after a PicComment*/
  2318.     kImplementLW8PrGeneral        = 0x00200000                    /* For apps that depend upon LaserWriter 8.x functionality*/
  2319. };
  2320.  
  2321. /* embed flags in struct for expandibility*/
  2322. struct TCompatibilityFlags {
  2323.     long                             flags1;
  2324. };
  2325. typedef struct TCompatibilityFlags TCompatibilityFlags;
  2326.  
  2327.  
  2328. /* for extension list management calls....*/
  2329.  
  2330. typedef struct OpaqueExtensionList*     ExtensionList;
  2331. /* bitfields for flags field in TExtensionDeviceInfo structure*/
  2332.  
  2333. enum {
  2334.     extensionActiveMask            = 0x00000001,
  2335.     changePageAtRenderPageMask    = 0x08000000,
  2336.     changePageAtImagePageMask    = 0x10000000,
  2337.     changePageAtDespoolPageMask    = 0x20000000,
  2338.     needDeviceStatusMask        = 0x40000000,
  2339.     executeDuringImagingMask    = (long)0x80000000
  2340. };
  2341.  
  2342. struct TExtensionDeviceInfo {
  2343.     OSType                             creatorType;
  2344.     long                             version;
  2345.     long                             flags;
  2346.     Str31                             name;
  2347. };
  2348. typedef struct TExtensionDeviceInfo TExtensionDeviceInfo;
  2349.  
  2350.  
  2351. struct TDeskPrinter {
  2352.     Str31                             printerName;
  2353.     Str31                             driverName;
  2354. };
  2355. typedef struct TDeskPrinter TDeskPrinter;
  2356.  
  2357.  
  2358. struct TPrinterList {
  2359.     short                             printerCount;
  2360.     TDeskPrinter                     printer[1];
  2361. };
  2362. typedef struct TPrinterList TPrinterList;
  2363.  
  2364. typedef TPrinterList *                    TPrinterListPtr;
  2365. typedef TPrinterListPtr *                TPrinterListHdl;
  2366. struct TDriverList {
  2367.     short                             driverCount;
  2368.     Str31                             driverName[1];
  2369. };
  2370. typedef struct TDriverList TDriverList;
  2371.  
  2372. typedef TDriverList *                    TDriverListPtr;
  2373. typedef TDriverListPtr *                TDriverListHdl;
  2374.  
  2375. enum {
  2376.     kDriverLen                    = (sizeof(Str31)),
  2377.     kPrinterLen                    = (sizeof(TDeskPrinter))
  2378. };
  2379.  
  2380.  
  2381. /* The critical proc is a private value that application may change within the job*/
  2382. typedef CALLBACK_API_C( void , CriticalProcPtr )(Boolean aBoolean);
  2383. typedef STACK_UPP_TYPE(CriticalProcPtr)                         CriticalUPP;
  2384. enum { uppCriticalProcInfo = 0x00000041 };                         /* no_return_value Func(1_byte) */
  2385. #define NewCriticalProc(userRoutine)                             (CriticalUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppCriticalProcInfo, GetCurrentArchitecture())
  2386. #define CallCriticalProc(userRoutine, aBoolean)                 CALL_ONE_PARAMETER_UPP((userRoutine), uppCriticalProcInfo, (aBoolean))
  2387. /*
  2388.    this structure is used by UnivDefaultJob and the General
  2389.    print panel to update the values displayed in the
  2390.    print panel.
  2391. */
  2392.  
  2393. struct TGeneralPrintSettings {
  2394.     Boolean                         fAutoFeed;
  2395.     Boolean                         fFeedLocked;
  2396.     Handle                             qualitySettings;
  2397.     Boolean                         fQualityLocked;
  2398.     char                             pad1;
  2399.     Handle                             pageRangeSettings;
  2400.     Boolean                         fPageRangeLocked;
  2401.     char                             pad2;
  2402.     long                             copies;
  2403.     Boolean                         fCopiesLocked;
  2404.     Boolean                         fCollateCopies;
  2405.     Boolean                         fCollationLocked;
  2406.     Boolean                         fPDDDefaultSetting;
  2407.     Boolean                         fDefaultSettingLocked;
  2408.     char                             pad3;
  2409. };
  2410. typedef struct TGeneralPrintSettings TGeneralPrintSettings;
  2411.  
  2412. typedef TGeneralPrintSettings *            TGeneralPrintSettingsPtr;
  2413. typedef TGeneralPrintSettingsPtr *        TGeneralPrintSettingsHdl;
  2414. /* used to specify shared connections to remote devices*/
  2415.  
  2416. struct GlobalConnectionRec {
  2417.     Str31                             deviceName;                    /* name of the DTP for this connection*/
  2418.     Ptr                             connectionPtr;                /* connection info for this DTP*/
  2419.     short                             ownerCount;                    /* how many people are using this connection?*/
  2420. };
  2421. typedef struct GlobalConnectionRec GlobalConnectionRec;
  2422.  
  2423. typedef GlobalConnectionRec *            GlobalConnectionPtr;
  2424. struct BigClientRecord {
  2425.     gxGraphicsClient                 smallClient;
  2426.     gxGraphicsClient                 bigClient;
  2427.     short                             numOutputViewDevices;
  2428.     short                             numFormatingViewDevices;
  2429.     gxViewGroup                     outputViewGroup;
  2430.     gxViewGroup                     formattingViewGroup;
  2431.     gxViewDevice                     theDevices[1];
  2432. };
  2433. typedef struct BigClientRecord BigClientRecord;
  2434.  
  2435. typedef BigClientRecord *                BigClientPtr;
  2436. typedef BigClientPtr *                    BigClientHandle;
  2437. /*********************************************************************************
  2438.  *                                    COLLECTION TAGS                                                *
  2439.  *********************************************************************************/
  2440.  
  2441. /*--------------------------*/
  2442. /* job collection tags...   */
  2443. /*--------------------------*/
  2444.  
  2445. enum {
  2446.     toggleWNETag                = FOUR_CHAR_CODE('wnet')
  2447. };
  2448.  
  2449. typedef CALLBACK_API_C( void , ToggleWNEProcPtr )(long cookie);
  2450. typedef STACK_UPP_TYPE(ToggleWNEProcPtr)                         ToggleWNEUPP;
  2451. enum { uppToggleWNEProcInfo = 0x000000C1 };                     /* no_return_value Func(4_bytes) */
  2452. #define NewToggleWNEProc(userRoutine)                             (ToggleWNEUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppToggleWNEProcInfo, GetCurrentArchitecture())
  2453. #define CallToggleWNEProc(userRoutine, cookie)                     CALL_ONE_PARAMETER_UPP((userRoutine), uppToggleWNEProcInfo, (cookie))
  2454. struct ToggleWNERecord {
  2455.     ToggleWNEUPP                     theProc;
  2456.     long                             theCookie;
  2457. };
  2458. typedef struct ToggleWNERecord ToggleWNERecord;
  2459.  
  2460. /* old API document name, read in Core PrValidate, used in QuickDraw PrOpenDoc*/
  2461.  
  2462. enum {
  2463.     oldDocumentNameTag            = FOUR_CHAR_CODE('onam')
  2464. };
  2465.  
  2466. /* private Printing Manager info*/
  2467.  
  2468. enum {
  2469.     univInfoTag                    = FOUR_CHAR_CODE('univ')
  2470. };
  2471.  
  2472. /* remote job information*/
  2473.  
  2474. enum {
  2475.     remoteJobTag                = FOUR_CHAR_CODE('rjob')
  2476. };
  2477.  
  2478. struct RemoteJobInfo {
  2479.     long                             jobID;                        /* remote ID - nil for jobs that are still local*/
  2480.     long                             queueID;                    /* remote queue - nil for jobs that are still local*/
  2481.     long                             deviceID;                    /* remote device - nil for jobs that are still local*/
  2482. };
  2483. typedef struct RemoteJobInfo RemoteJobInfo;
  2484.  
  2485. /* PrintFile's creator and file type*/
  2486.  
  2487. enum {
  2488.     gxFileTypeTag                = FOUR_CHAR_CODE('ftyp')
  2489. };
  2490.  
  2491. struct gxFileTypeInfo {
  2492.     OSType                             fdType;                        /* the type of the PrintFile*/
  2493.     OSType                             fdCreator;                    /* PrintFile's creator*/
  2494. };
  2495. typedef struct gxFileTypeInfo gxFileTypeInfo;
  2496.  
  2497. /* greatest # of objects on any page (optimization value for PrinterShare)*/
  2498.  
  2499. enum {
  2500.     gxObjectCountTag            = FOUR_CHAR_CODE('objs')
  2501. };
  2502.  
  2503. struct gxObjectCountInfo {
  2504.     long                             minHeapSize;
  2505.     long                             preferredHeapSize;
  2506. };
  2507. typedef struct gxObjectCountInfo gxObjectCountInfo;
  2508.  
  2509.  
  2510. /* The custom page feed structure in a job collection for
  2511.     non-gx style custom page feed.  (Currently used by PS.) */
  2512.  
  2513. enum {
  2514.     gxCustomPageFeedItem        = FOUR_CHAR_CODE('cfed')
  2515. };
  2516.  
  2517. struct TCustomPageFeedRec {
  2518.  
  2519.     Str31                             firstPaperName;
  2520.     Str31                             remainingPaperName;
  2521.  
  2522. };
  2523. typedef struct TCustomPageFeedRec TCustomPageFeedRec;
  2524.  
  2525. /*--------------------------*/
  2526. /* format collection tags...*/
  2527. /*--------------------------*/
  2528.  
  2529.  
  2530. enum {
  2531.     jobFormatModeTag            = FOUR_CHAR_CODE('jfmd')
  2532. };
  2533.  
  2534.  
  2535. enum {
  2536.     availableJobFormatModesID    = 0,
  2537.     preferredJobFormatModeID    = 1,
  2538.     jobFormatModeID                = 2
  2539. };
  2540.  
  2541.  
  2542. /* =============== Paper Type Related Constants and Types =============== */
  2543.  
  2544. /* ===== Paper Type Groups ===== */
  2545.  
  2546. enum {
  2547.     systemPTGroup                = 1,                            /* System paper type group*/
  2548.     driverPTGroup                = 2,                            /* Driver paper type group*/
  2549.     userPTGroup                    = 3,                            /* User paper type group*/
  2550.     configFilePTGroup            = 4,                            /* Configuration file paper type group*/
  2551.     documentPTGroup                = 5                                /* Designates application documents as a paper type group*/
  2552. };
  2553.  
  2554.  
  2555.  
  2556. /* ===== Constants for Selecting Old and New Paper Types ===== */
  2557.  
  2558. enum {
  2559.     wantOldPTs                    = 0,                            /* Return old paper types only*/
  2560.     wantNewPTs                    = 1,                            /* Return new paper types only*/
  2561.     wantOldAndNewPTs            = 2                                /* Return old and new paper types*/
  2562. };
  2563.  
  2564. /* =============== Paper Type Handler Types =============== */
  2565. /* PTGroupSpec - structure containing information needed by the Paper Type module to */
  2566. /*                      access paper type definitions in a specific group. */
  2567. struct PTGroupSpec {
  2568.     FSSpec                             fileSpec;                    /* Info. about the current file being accessed*/
  2569.     short                             internalUse;                /* For internal use - varies depending upon the type of group*/
  2570.     short                             internalUse2;                /* For internal use - varies depending upon the type of group*/
  2571.     unsigned char                     ptGroup;                    /* Paper type group referenced (systemPTGroup, driverPTGroup, userPTGroup, or configFilePTGroup)*/
  2572.     char                             pad;
  2573. };
  2574. typedef struct PTGroupSpec PTGroupSpec;
  2575.  
  2576. typedef PTGroupSpec *                    PTGroupSpecPtr;
  2577. /* =============== Constants and types for the "looker" resource =============== */
  2578. /*
  2579.     The looker resource is used by the Chooser PACK to determine what kind
  2580.     of communications this driver supports. (In order to generate/handle the 
  2581.     pop-up menu for "Connect via:".
  2582.     
  2583.     The looker resource is also used by PrinterShare to determine the AppleTalk NBP Type
  2584.     for servers created for this driver.
  2585. */
  2586.  
  2587. enum {
  2588.     kIsAppleTalk                = 0x00000001,                    /* this looker is for an AppleTalk device*/
  2589.     kIconCells                    = 0x00000002,                    /* this looker displays icons in the list*/
  2590.     kPrinterShare                = 0x00000004                    /* this looker is for PrinterShare servers*/
  2591. };
  2592.  
  2593. struct LookerRecord {
  2594.     Str32                             lookerName;                    /* name of the looker*/
  2595.     char                             pad;                        /* one byte padding*/
  2596.     short                             commID;                        /* looker 'comm' resource*/
  2597.     long                             lookerFlags;                /* options for this looker*/
  2598.     Str32                             lookerMiscString;            /* NBP Type, or default name*/
  2599. };
  2600. typedef struct LookerRecord LookerRecord;
  2601.  
  2602. typedef LookerRecord *                    LookerPtr;
  2603. /* the looker list is the list of all of the communications types supported by this driver*/
  2604. struct LookerList {
  2605.     short                             currentLooker;                /* current (or default) looker*/
  2606.     short                             lookerCount;                /* number of lookers*/
  2607.     LookerRecord                     lookerList[1];                /* and the list of them*/
  2608. };
  2609. typedef struct LookerList LookerList;
  2610.  
  2611. typedef LookerList *                    LookerListPtr;
  2612. typedef LookerListPtr *                    LookerListHandle;
  2613. /* This is the structure to fill-out during spooling of QDShape for color information. */
  2614.  
  2615. enum {
  2616.     ColorInfoTag                = FOUR_CHAR_CODE('cnfo')
  2617. };
  2618.  
  2619. struct QuickDrawPictInfo {
  2620.     short                             mode;                        /* 0->srcCopy mode only in the picture, !0->some other mode in the picture*/
  2621. };
  2622. typedef struct QuickDrawPictInfo QuickDrawPictInfo;
  2623.  
  2624. /* DragFlags values for GXHandleDTPDrop.*/
  2625.  
  2626. enum {
  2627.     kCheckFile                    = 0,                            /* means: "simply return the action flags without processing the file as yet" */
  2628.     kProcessFile                = 1                                /* means: "process the file and specify which action was taken" */
  2629. };
  2630.  
  2631. typedef unsigned long                     DragFlags;
  2632. /* ActionFlags values for GXHandleDTPDrop.*/
  2633.  
  2634. enum {
  2635.     kNoAction                    = 0,                            /* means: "I don't know this file; PFE should look at this file" */
  2636.     kDropHandled                = 1                                /* means: "I will/did handle this file" */
  2637. };
  2638.  
  2639. typedef unsigned long                     ActionFlags;
  2640. EXTERN_API_C( OSErr )
  2641. GXHandleDTPDrop                    (FSSpec *                theDrop,
  2642.                                  FSSpec *                theTargetDTP,
  2643.                                  DragFlags                 theDragFlags,
  2644.                                  ActionFlags *            theActionFlags)                        SEVENWORDINLINE(0x203C, 0x1008, 0x00A8, 0x2078, 0x0948, 0x2050, 0x4E90);
  2645.  
  2646.  
  2647.  
  2648. /* Miscellaneous Routines, COREPRIVATEAPIGLUE - These go through _Printing.*/
  2649.  
  2650.  
  2651. EXTERN_API_C( OSErr )
  2652. ProtectedDispatch                (long                     selector,
  2653.                                  long                     arg2,
  2654.                                  long                     arg3,
  2655.                                  long                     arg4,
  2656.                                  long                     arg5,
  2657.                                  long                     arg6,
  2658.                                  long                     arg7,
  2659.                                  long                     arg8,
  2660.                                  long                     arg9,
  2661.                                  long                     arg10,
  2662.                                  long                     arg11,
  2663.                                  long                     arg12)                                SIXWORDINLINE(0x221F, 0x203C, 0x0003, 0x0000, 0xABFE, 0x518F);
  2664.  
  2665. EXTERN_API_C( gxJob )
  2666. SetJob                            (gxJob                     aJob)                                FOURWORDINLINE(0x203C, 0x0003, 0x0001, 0xABFE);
  2667.  
  2668. EXTERN_API_C( Boolean )
  2669. IsOldApplication                (void)                                                        FOURWORDINLINE(0x203C, 0x0003, 0x0002, 0xABFE);
  2670.  
  2671. EXTERN_API_C( MessageHandler )
  2672. GetJobDriverHandlerID            (gxJob                     aJob)                                FOURWORDINLINE(0x203C, 0x0003, 0x0003, 0xABFE);
  2673.  
  2674. EXTERN_API_C( gxJob )
  2675. DoGXGetJob                        (void)                                                        FOURWORDINLINE(0x203C, 0x0003, 0x0004, 0xABFE);
  2676.  
  2677. EXTERN_API_C( short )
  2678. DoGXGetMessageHandlerResFile    (void)                                                        FOURWORDINLINE(0x203C, 0x0003, 0x0005, 0xABFE);
  2679.  
  2680. EXTERN_API_C( Boolean )
  2681. DoGXSpoolingAborted                (void)                                                        FOURWORDINLINE(0x203C, 0x0003, 0x0006, 0xABFE);
  2682.  
  2683. EXTERN_API_C( OSErr )
  2684. DoGXJobIdle                        (void)                                                        FOURWORDINLINE(0x203C, 0x0003, 0x0007, 0xABFE);
  2685.  
  2686. EXTERN_API_C( void )
  2687. DisposeExtensionList            (ExtensionList             extensionList)                        FOURWORDINLINE(0x203C, 0x0003, 0x0008, 0xABFE);
  2688.  
  2689. EXTERN_API_C( void )
  2690. DoGXDisposeFormat                (gxFormat                 aFormat)                            FOURWORDINLINE(0x203C, 0x0003, 0x0009, 0xABFE);
  2691.  
  2692. EXTERN_API_C( void )
  2693. DoGXDisposePaperType            (gxPaperType             aPaperType)                            FOURWORDINLINE(0x203C, 0x0003, 0x000A, 0xABFE);
  2694.  
  2695. EXTERN_API_C( void )
  2696. DeallocateFormat                (gxFormat                 aFormat)                            FOURWORDINLINE(0x203C, 0x0003, 0x000B, 0xABFE);
  2697.  
  2698. EXTERN_API_C( void )
  2699. DeallocatePaperType                (gxPaperType             aPaperType)                            FOURWORDINLINE(0x203C, 0x0003, 0x000C, 0xABFE);
  2700.  
  2701. EXTERN_API_C( short )
  2702. GetTBMapping                    (void)                                                        FOURWORDINLINE(0x203C, 0x0003, 0x000D, 0xABFE);
  2703.  
  2704. EXTERN_API_C( short )
  2705. GetISMapping                    (void)                                                        FOURWORDINLINE(0x203C, 0x0003, 0x000E, 0xABFE);
  2706.  
  2707. EXTERN_API_C( short )
  2708. MapTBResource                    (short                     unMappedResID)                        FOURWORDINLINE(0x203C, 0x0003, 0x000F, 0xABFE);
  2709.  
  2710. EXTERN_API_C( short )
  2711. MapISResource                    (short                     unMappedResID)                        FOURWORDINLINE(0x203C, 0x0003, 0x0010, 0xABFE);
  2712.  
  2713. EXTERN_API_C( TGenericTable )
  2714. GetJobTable                        (void)                                                        FOURWORDINLINE(0x203C, 0x0003, 0x0011, 0xABFE);
  2715.  
  2716. EXTERN_API_C( TGenericTable )
  2717. GetPaperTypeTable                (void)                                                        FOURWORDINLINE(0x203C, 0x0003, 0x0012, 0xABFE);
  2718.  
  2719. EXTERN_API_C( TGenericTable )
  2720. GetPrinterTable                    (void)                                                        FOURWORDINLINE(0x203C, 0x0003, 0x0013, 0xABFE);
  2721.  
  2722. EXTERN_API_C( TGenericTable )
  2723. GetPrintFileTable                (void)                                                        FOURWORDINLINE(0x203C, 0x0003, 0x0014, 0xABFE);
  2724.  
  2725. EXTERN_API_C( void *)
  2726. GetDefaultDispatchProc            (void)                                                        FOURWORDINLINE(0x203C, 0x0003, 0x0015, 0xABFE);
  2727.  
  2728. EXTERN_API_C( MessageHandlerSetupProc )
  2729. GetDefaultSetupProc                (void)                                                        FOURWORDINLINE(0x203C, 0x0003, 0x0016, 0xABFE);
  2730.  
  2731. EXTERN_API_C( void *)
  2732. GetPrinterShareStorage            (void)                                                        FOURWORDINLINE(0x203C, 0x0003, 0x0017, 0xABFE);
  2733.  
  2734. EXTERN_API_C( void )
  2735. SetPrinterShareStorage            (void *                    storage)                            FOURWORDINLINE(0x203C, 0x0003, 0x0018, 0xABFE);
  2736.  
  2737. EXTERN_API_C( void *)
  2738. GetAsyncIOStorage                (void)                                                        FOURWORDINLINE(0x203C, 0x0003, 0x0019, 0xABFE);
  2739.  
  2740. EXTERN_API_C( void )
  2741. SetAsyncIOStorage                (void *                    storage)                            FOURWORDINLINE(0x203C, 0x0003, 0x001A, 0xABFE);
  2742.  
  2743. EXTERN_API_C( void *)
  2744. GetHandlerStorage                (short                     whichHandler)                        FOURWORDINLINE(0x203C, 0x0003, 0x001B, 0xABFE);
  2745.  
  2746. EXTERN_API_C( void )
  2747. SetHandlerStorage                (short                     whichHandler,
  2748.                                  void *                    storage)                            FOURWORDINLINE(0x203C, 0x0003, 0x001C, 0xABFE);
  2749.  
  2750. EXTERN_API_C( OSErr )
  2751. NewSegmentStack                    (TSegmentStack *        segStack)                            FOURWORDINLINE(0x203C, 0x0003, 0x001D, 0xABFE);
  2752.  
  2753. EXTERN_API_C( void )
  2754. DisposeSegmentStack                (TSegmentStack             segStack)                            FOURWORDINLINE(0x203C, 0x0003, 0x001E, 0xABFE);
  2755.  
  2756. EXTERN_API_C( OSErr )
  2757. NewSegmentTable                    (short                     clientRefNum,
  2758.                                  ResType                 segType,
  2759.                                  TSegmentTable *        segStack)                            FOURWORDINLINE(0x203C, 0x0003, 0x001F, 0xABFE);
  2760.  
  2761. EXTERN_API_C( void )
  2762. DisposeSegmentTable                (TSegmentTable             segTable)                            FOURWORDINLINE(0x203C, 0x0003, 0x0020, 0xABFE);
  2763.  
  2764. EXTERN_API_C( void )
  2765. UnloadSegments                    (TSegmentTable             segTable)                            FOURWORDINLINE(0x203C, 0x0003, 0x0021, 0xABFE);
  2766.  
  2767. EXTERN_API_C( OSErr )
  2768. LoadSegment                        (TSegmentTable             segTable,
  2769.                                  short                     segID,
  2770.                                  Handle *                segment)                            FOURWORDINLINE(0x203C, 0x0003, 0x0022, 0xABFE);
  2771.  
  2772. EXTERN_API_C( OSErr )
  2773. NewGenericTable                    (TGenericTable *        table)                                FOURWORDINLINE(0x203C, 0x0003, 0x0023, 0xABFE);
  2774.  
  2775. EXTERN_API_C( void )
  2776. DisposeGenericTable                (TGenericTable             table)                                FOURWORDINLINE(0x203C, 0x0003, 0x0024, 0xABFE);
  2777.  
  2778. EXTERN_API_C( long )
  2779. CountGenericTableEntries        (TGenericTable             table)                                FOURWORDINLINE(0x203C, 0x0003, 0x0025, 0xABFE);
  2780.  
  2781. EXTERN_API_C( OSErr )
  2782. GenericTableInsert                (TGenericTable             table,
  2783.                                  void *                    object,
  2784.                                  long *                    reference)                            FOURWORDINLINE(0x203C, 0x0003, 0x0026, 0xABFE);
  2785.  
  2786. EXTERN_API_C( OSErr )
  2787. GenericTablePut                    (TGenericTable             table,
  2788.                                  void *                    object,
  2789.                                  long                     where)                                FOURWORDINLINE(0x203C, 0x0003, 0x0027, 0xABFE);
  2790.  
  2791. EXTERN_API_C( void *)
  2792. GenericTableDelete                (TGenericTable             table,
  2793.                                  long                     reference)                            FOURWORDINLINE(0x203C, 0x0003, 0x0028, 0xABFE);
  2794.  
  2795. EXTERN_API_C( void *)
  2796. GenericTableRetrieve            (TGenericTable             table,
  2797.                                  long                     reference)                            FOURWORDINLINE(0x203C, 0x0003, 0x0029, 0xABFE);
  2798.  
  2799. EXTERN_API_C( TGenericTable )
  2800. GetFormatTable                    (gxJob                     aJob)                                FOURWORDINLINE(0x203C, 0x0003, 0x002A, 0xABFE);
  2801.  
  2802. EXTERN_API_C( TPrintingClient )
  2803. GetJobCurrentClient                (gxJob                     aJob)                                FOURWORDINLINE(0x203C, 0x0003, 0x002B, 0xABFE);
  2804.  
  2805. EXTERN_API_C( TAppOverrideTableHdl )
  2806. GetJobAppOverrides                (gxJob                     aJob)                                FOURWORDINLINE(0x203C, 0x0003, 0x002C, 0xABFE);
  2807.  
  2808. EXTERN_API_C( gxPrinter )
  2809. SelectJobPrinter                (gxJob                     aJob,
  2810.                                  gxPrinter                 aPrinter)                            FOURWORDINLINE(0x203C, 0x0003, 0x002D, 0xABFE);
  2811.  
  2812. EXTERN_API_C( CriticalUPP )
  2813. GetJobCriticalProc                (gxJob                     aJob)                                FOURWORDINLINE(0x203C, 0x0003, 0x002E, 0xABFE);
  2814.  
  2815. EXTERN_API_C( void )
  2816. SetJobCriticalProc                (gxJob                     aJob,
  2817.                                  CriticalUPP             proc)                                FOURWORDINLINE(0x203C, 0x0003, 0x002F, 0xABFE);
  2818.  
  2819. EXTERN_API_C( short )
  2820. GetJobDriverRefNum                (gxJob                     aJob)                                FOURWORDINLINE(0x203C, 0x0003, 0x0030, 0xABFE);
  2821.  
  2822. EXTERN_API_C( void )
  2823. SetJobDeferredLoadInfo            (gxJob                     aJob,
  2824.                                  Str31                     driverName,
  2825.                                  Str31                     printerName)                        FOURWORDINLINE(0x203C, 0x0003, 0x0031, 0xABFE);
  2826.  
  2827. EXTERN_API_C( unsigned long )
  2828. GetFormatSeed                    (gxFormat                 aFormat)                            FOURWORDINLINE(0x203C, 0x0003, 0x0032, 0xABFE);
  2829.  
  2830. EXTERN_API_C( void )
  2831. GetPrinterInfo                    (gxPrinter                 aPrinter,
  2832.                                  TPrinterInfo *            printerInfo)                        FOURWORDINLINE(0x203C, 0x0003, 0x0033, 0xABFE);
  2833.  
  2834. EXTERN_API_C( MessageObject )
  2835. GetPrinterMessageObject            (gxPrinter                 aPrinter)                            FOURWORDINLINE(0x203C, 0x0003, 0x0034, 0xABFE);
  2836.  
  2837. EXTERN_API_C( MessageClass )
  2838. GetPrinterMessageClass            (gxPrinter                 aPrinter)                            FOURWORDINLINE(0x203C, 0x0003, 0x0035, 0xABFE);
  2839.  
  2840. EXTERN_API_C( TPrintingClient )
  2841. GetPrinterDriverClientID        (gxPrinter                 aPrinter)                            FOURWORDINLINE(0x203C, 0x0003, 0x0036, 0xABFE);
  2842.  
  2843. EXTERN_API_C( short )
  2844. GetPrinterISMapping                (gxPrinter                 aPrinter)                            FOURWORDINLINE(0x203C, 0x0003, 0x0037, 0xABFE);
  2845.  
  2846. EXTERN_API_C( void )
  2847. KillPrinterViewDevices            (gxPrinter                 aPrinter)                            FOURWORDINLINE(0x203C, 0x0003, 0x0038, 0xABFE);
  2848.  
  2849. EXTERN_API_C( TPrinterClass )
  2850. GetPrinterClass                    (gxPrinter                 aPrinter)                            FOURWORDINLINE(0x203C, 0x0003, 0x0039, 0xABFE);
  2851.  
  2852. EXTERN_API_C( long )
  2853. CountPrinterClassOwners            (TPrinterClass             aPClass)                            FOURWORDINLINE(0x203C, 0x0003, 0x003A, 0xABFE);
  2854.  
  2855. EXTERN_API_C( void )
  2856. DisposePrinterClass                (TPrinterClass             aPClass)                            FOURWORDINLINE(0x203C, 0x0003, 0x003B, 0xABFE);
  2857.  
  2858. EXTERN_API_C( OSErr )
  2859. FetchResource                    (ResType                 resType,
  2860.                                  short                     resID,
  2861.                                  Handle *                resHdl)                                FOURWORDINLINE(0x203C, 0x0003, 0x003C, 0xABFE);
  2862.  
  2863. EXTERN_API_C( OSErr )
  2864. FetchDriverData                    (gxJob                     aJob,
  2865.                                  ResType                 resType,
  2866.                                  short                     theID,
  2867.                                  Handle *                hResource)                            FOURWORDINLINE(0x203C, 0x0003, 0x003D, 0xABFE);
  2868.  
  2869. EXTERN_API_C( MessageObject )
  2870. GetJobObject                    (void)                                                        FOURWORDINLINE(0x203C, 0x0003, 0x003E, 0xABFE);
  2871.  
  2872. EXTERN_API_C( TPrintingClient )
  2873. SwapPrintingClient                (TPrintingClient         clientID)                            FOURWORDINLINE(0x203C, 0x0003, 0x003F, 0xABFE);
  2874.  
  2875. EXTERN_API_C( unsigned long )
  2876. GetDefaultHeapPrefs                (void)                                                        FOURWORDINLINE(0x203C, 0x0003, 0x0040, 0xABFE);
  2877.  
  2878. EXTERN_API_C( void )
  2879. SetDefaultHeapPrefs                (unsigned long             heapPrefs)                            FOURWORDINLINE(0x203C, 0x0003, 0x0041, 0xABFE);
  2880.  
  2881. EXTERN_API_C( OSErr )
  2882. PrNewAllocation                    (unsigned long             allocFlags,
  2883.                                  long                     size,
  2884.                                  void *                    newAlloc)                            FOURWORDINLINE(0x203C, 0x0003, 0x0042, 0xABFE);
  2885.  
  2886. EXTERN_API_C( OSErr )
  2887. PrSetPtrSize                    (Ptr                     p,
  2888.                                  long                     size)                                FOURWORDINLINE(0x203C, 0x0003, 0x0043, 0xABFE);
  2889.  
  2890. EXTERN_API_C( OSErr )
  2891. PrSetHandleSize                    (Handle                 h,
  2892.                                  long                     size)                                FOURWORDINLINE(0x203C, 0x0003, 0x0044, 0xABFE);
  2893.  
  2894. EXTERN_API_C( OSErr )
  2895. PrPtrToHand                        (const void *            p,
  2896.                                  Handle *                pHandle,
  2897.                                  long                     size)                                FOURWORDINLINE(0x203C, 0x0003, 0x0045, 0xABFE);
  2898.  
  2899. EXTERN_API_C( OSErr )
  2900. PrHandToHand                    (Handle *                h)                                    FOURWORDINLINE(0x203C, 0x0003, 0x0046, 0xABFE);
  2901.  
  2902. EXTERN_API_C( OSErr )
  2903. PrDisposePtr                    (Ptr                     p)                                    FOURWORDINLINE(0x203C, 0x0003, 0x0047, 0xABFE);
  2904.  
  2905. EXTERN_API_C( OSErr )
  2906. PrDisposeHandle                    (Handle                 h)                                    FOURWORDINLINE(0x203C, 0x0003, 0x0048, 0xABFE);
  2907.  
  2908. EXTERN_API_C( OSErr )
  2909. PrDisposePtrAt                    (Ptr *                    p)                                    FOURWORDINLINE(0x203C, 0x0003, 0x0049, 0xABFE);
  2910.  
  2911. EXTERN_API_C( OSErr )
  2912. PrDisposeHandleAt                (Handle *                h)                                    FOURWORDINLINE(0x203C, 0x0003, 0x004A, 0xABFE);
  2913.  
  2914. EXTERN_API_C( void )
  2915. PrClearBlock                    (Ptr                     p,
  2916.                                  long                     size)                                FOURWORDINLINE(0x203C, 0x0003, 0x004B, 0xABFE);
  2917.  
  2918. EXTERN_API_C( void *)
  2919. GetDTPCacheStorage                (void)                                                        FOURWORDINLINE(0x203C, 0x0003, 0x004C, 0xABFE);
  2920.  
  2921. EXTERN_API_C( void )
  2922. SetDTPCacheStorage                (void *                    storage)                            FOURWORDINLINE(0x203C, 0x0003, 0x004D, 0xABFE);
  2923.  
  2924. EXTERN_API_C( OSErr )
  2925. GetSharedGraphicsClient            (gxGraphicsClient *        aClient)                            FOURWORDINLINE(0x203C, 0x0003, 0x004E, 0xABFE);
  2926.  
  2927. EXTERN_API_C( void )
  2928. DisposeSharedGraphicsClient        (void)                                                        FOURWORDINLINE(0x203C, 0x0003, 0x004F, 0xABFE);
  2929.  
  2930. EXTERN_API_C( OSErr )
  2931. InstallPrintFileWarningHandler    (void)                                                        FOURWORDINLINE(0x203C, 0x0003, 0x0050, 0xABFE);
  2932.  
  2933. EXTERN_API_C( void *)
  2934. GetValidationCacheStorage        (void)                                                        FOURWORDINLINE(0x203C, 0x0003, 0x0051, 0xABFE);
  2935.  
  2936. EXTERN_API_C( void )
  2937. SetValidationCacheStorage        (void *                    storage)                            FOURWORDINLINE(0x203C, 0x0003, 0x0052, 0xABFE);
  2938.  
  2939.  
  2940. /*    ===========================================================================    */
  2941. /*    The following calls are only for use by Printing and the Finder.          */
  2942. /*    ===========================================================================    */
  2943. /* ================================================================================ */
  2944. /* ******* CLIENT CONSTANTS AND TYPES ********/
  2945. /*
  2946.    Structures used by the logon process - the client code does not actually implement the dialogs, but
  2947.    uses this information to talk back and forth to those who do.
  2948. */
  2949.  
  2950. /* the server info record in a more easily usable form, created by SelectUAM*/
  2951. struct ServerInfoRecord {
  2952.     short                             scriptCode;                    /* script code of server name*/
  2953.     Str255                             serverName;                    /* Name of the server*/
  2954.     UAMType                         theUAM;                        /* Selected UAM to use*/
  2955.     Str255                             theDescription;                /* English text for the UAM in use*/
  2956.     Boolean                         hasCookies;                    /* server uses magic cookies*/
  2957.     Boolean                         supportsGuest;                /* server supports guest logons*/
  2958.     Boolean                         onlyGuest;                    /* server ONLY supports guests*/
  2959.     Boolean                         supportsNoPassword;            /* server supports password-less authentication*/
  2960.     Boolean                         supportsChangePassword;        /* server lets the user change password*/
  2961.     Boolean                         supportsZoneSecurity;        /* server allows authentication by zone*/
  2962. };
  2963. typedef struct ServerInfoRecord ServerInfoRecord;
  2964.  
  2965. typedef ServerInfoRecord *                ServerInfoPtr;
  2966. struct LogonDialogRecord {
  2967.     Str32                             userName;                    /* username seed*/
  2968.     Str32                             password;                    /* password seed*/
  2969.     short                             whichToSelect;                /* which item to select in the dialog*/
  2970.     ServerInfoRecord                 theInfo;                    /* call SelectUAM to fill this in*/
  2971.  
  2972.     DialogPtr                         dPtr;                        /* the logon dialog*/
  2973.     GrafPtr                         curPort;                    /* port prior to the dialog*/
  2974.     long                             twoWayRandNum[8];            /* used to pass randNums back to server*/
  2975.     long                             refCon;                        /* handy place to stuff clientptr*/
  2976.     long                             privsGranted;                /* privs returned from server*/
  2977.  
  2978.     QDProcs                         passwordProcs;                /* QuickDraw bottlenecks for passwords*/
  2979. };
  2980. typedef struct LogonDialogRecord LogonDialogRecord;
  2981.  
  2982. typedef LogonDialogRecord *                LogonDialogPtr;
  2983. /* Client Record*/
  2984. /*
  2985.    Contains all the state information needed to maintain an APSP
  2986.    connection to a PrinterShare server.  Based on shared connection record
  2987.    defined in the section above
  2988. */
  2989.  
  2990. /*
  2991.    Note that clients may share connections; see Core:PrivateAPI:RemotePrinterAPI.c
  2992.    for more details.
  2993. */
  2994.  
  2995. struct ClientRecord {
  2996.     ConnectionRecord                 c;                            /* the basic connection stuff*/
  2997.  
  2998.     short                             ownerCount;                    /* number of people using this record*/
  2999.     Ptr                             nextClient;                    /* next client record in*/
  3000.  
  3001.     short                             eventProcID;                /* id of event handler*/
  3002.     short                             replyProcID;                /* id of PSP reply handler*/
  3003.     short                             requestCode;                /* PSP Request or NBP command code*/
  3004.     short                             replyCode;                    /* PSP Reply command code*/
  3005.     long                             handlerData;                /* handler-defined data*/
  3006.     long                             userData;                    /* user-define data*/
  3007.     Boolean                         clientBusy;                    /* true if a request is in progress*/
  3008.     char                             pad;
  3009.     ProcessSerialNumber             requestPSN;                    /* person making request (0 for none)*/
  3010.     long                             requestTimeout;                /* when TickCount > this, timeout request*/
  3011.  
  3012.     short                             fileRefNum;                    /* refNum for file we are dealing with*/
  3013.     HParamBlockRec                     filePB;                        /* the param block for file IO*/
  3014.  
  3015.     Str32                             nbpName;                    /* NBP name registered on this node*/
  3016.     Str32                             nbpType;                    /* NBP type registered on this node*/
  3017. };
  3018. typedef struct ClientRecord ClientRecord;
  3019.  
  3020. typedef ClientRecord *                    ClientPtr;
  3021. typedef struct OpaqueTLookupPtr*         TLookupPtr;
  3022. typedef struct OpaqueTPingPtr*             TPingPtr;
  3023. struct NOPSRecord {
  3024.     ResType                         commType;                    /* communication type == 'nops'*/
  3025. };
  3026. typedef struct NOPSRecord NOPSRecord;
  3027.  
  3028. typedef NOPSRecord *                    NOPSPtr;
  3029. typedef NOPSPtr *                        NOPSHandle;
  3030. /*
  3031.    ----------------------------------------------------------------------
  3032.                           CONSTANTS
  3033.    ----------------------------------------------------------------------
  3034. */
  3035.  
  3036. /*
  3037.    requests timeout after this amount of time, in ticks, if no network
  3038.    traffic has been seen
  3039. */
  3040.  
  3041.  
  3042. enum {
  3043.     kRequestTimeout                = (60 * 60 * 2)
  3044. };
  3045.  
  3046. /*
  3047.    EventProcID is used by the client state machine (CallEventHandler)
  3048.    to tell which event handler it should call
  3049. */
  3050.  
  3051.  
  3052. enum {
  3053.     kNoIdle                        = 0,                            /* not doing nothin'*/
  3054.     kStandardRequestIdle        = 1,                            /* standard request handler*/
  3055.     kStandardReplyIdle            = 2,                            /* standard reply handler*/
  3056.     kOpenIdle                    = 3,                            /* client connection is being opened*/
  3057.     kManualIdle                    = 4                                /* client transaction handled manually*/
  3058. };
  3059.  
  3060. /*
  3061.    ReplyProcID is used by the client state machine (CallPSPHandler)
  3062.    to tell which PSP command reply handler should be called when
  3063.    the PSP reply is received
  3064. */
  3065.  
  3066.  
  3067. enum {
  3068.     kGetServerInfoReply            = 101,                            /* GetServerInfo reply handler*/
  3069.     kAuthenticateReply            = 102,                            /* Authenticate reply handler*/
  3070.     kValidateReply                = 103,                            /* Validate reply handler*/
  3071.     kGenericReply                = 104,                            /* Generic AppleEvent reply handler*/
  3072.     kDeviceStatusReply            = 105,                            /* DeviceStatus reply handler*/
  3073.     kJobInfoReply                = 106,                            /* GetJobInfo reply handler*/
  3074.     kCloseSessionReply            = 107,                            /* CloseSession reply handler*/
  3075.     kReturnErrorReply            = 108                            /* return result code reply handler*/
  3076. };
  3077.  
  3078. /*
  3079.  
  3080. |* ================================================================================ */
  3081. /* ******* DEVCONFILE HANDLER CONSTANTS AND TYPES ********/
  3082. /* -----------File type and creator (not public)----------------------*/
  3083.  
  3084. enum {
  3085.     kConfigFileType                = FOUR_CHAR_CODE('dvcf'),
  3086.     kConfigFileCreator            = FOUR_CHAR_CODE('dcdc')
  3087. };
  3088.  
  3089.  
  3090. /*
  3091.    ----------------------------------• 'cnfg' •----------------------------------
  3092.    The driver used by this desktop printer
  3093. */
  3094.  
  3095. enum {
  3096.     kDeviceConfigType            = FOUR_CHAR_CODE('cnfg'),
  3097.     kDeviceConfigID                = 1
  3098. };
  3099.  
  3100. struct DeviceConfigInfo {
  3101.     OSType                             driverType;
  3102.     OSType                             deviceType;
  3103.     Str31                             driverName;
  3104. };
  3105. typedef struct DeviceConfigInfo DeviceConfigInfo;
  3106.  
  3107. typedef DeviceConfigInfo *                DeviceConfigPtr;
  3108. typedef DeviceConfigPtr *                DeviceConfigHdl;
  3109. /*
  3110.    ----------------------------------• 'comm' •----------------------------------
  3111.    The communications method and private data used to connect to the printer
  3112. */
  3113.  
  3114. enum {
  3115.     kCommunicationsType            = gxDeviceCommunicationsType,
  3116.     kCommunicationsID            = gxDeviceCommunicationsID
  3117. };
  3118.  
  3119.  
  3120. /*
  3121.    ----------------------------------• 'shrd' •----------------------------------
  3122.    Is this printer shared, if so, with whom?
  3123. */
  3124.  
  3125. enum {
  3126.     kSharedPrinterType            = FOUR_CHAR_CODE('shrd'),
  3127.     kSharedPrinterID            = 0
  3128. };
  3129.  
  3130. typedef long                             DCAuth;
  3131. typedef unsigned long                     DCPriv;
  3132. /* DCAuthInfo*/
  3133. struct DCAuthInfo {
  3134.     DCAuth                             authType;                    /* user, group, zone, or guest*/
  3135.     DCPriv                             privFlags;                    /* privileges for this entry*/
  3136.     Str31                             name;                        /* for user, group; nil for guest or zone guest packed and null-padded to word*/
  3137. };
  3138. typedef struct DCAuthInfo DCAuthInfo;
  3139.  
  3140. typedef DCAuthInfo *                    DCAuthInfoPtr;
  3141. typedef DCAuthInfoPtr *                    DCAuthInfoHdl;
  3142. /*
  3143.    DCShareInfo
  3144.    'shrd' resource format
  3145. */
  3146. struct DCShareInfo {
  3147.     long                             maxUsers;                    /* maximum number of active users*/
  3148.     long                             authCount;                    /* count of authentication records*/
  3149.     DCAuthInfo                         authList[1];                /* zero or more authentication records null-padded to word alignment*/
  3150. };
  3151. typedef struct DCShareInfo DCShareInfo;
  3152.  
  3153. typedef DCShareInfo *                    DCShareInfoPtr;
  3154. typedef DCShareInfoPtr *                DCShareInfoHdl;
  3155. /*
  3156.    Authentication record types for DCAuthInfo
  3157.    Start at -1 for FileShare compatibility
  3158. */
  3159.  
  3160. enum {
  3161.     kDCAuthInfoGroup            = -1,
  3162.     kDCAuthInfoUser                = 0,
  3163.     kDCAuthInfoZone                = 1,
  3164.     kDCAuthInfoGuest            = 2
  3165. };
  3166.  
  3167.  
  3168. /*
  3169.    ----------------------------------• 'capt' •----------------------------------
  3170.    Should this printer be captured?  If resource is missing, printer cannot be captured.
  3171. */
  3172.  
  3173. enum {
  3174.     kCapturePrinterType            = FOUR_CHAR_CODE('capt'),
  3175.     kCapturePrinterID            = 1,
  3176.     kDontCapturePrinter            = 0x0000,
  3177.     kCapturePrinter                = 0x0001
  3178. };
  3179.  
  3180.  
  3181. /*
  3182.    ----------------------------------• 'stop' •----------------------------------
  3183.    Is this printer stopped printing?  If resource is missing, queue is not stopped.
  3184. */
  3185.  
  3186. enum {
  3187.     kQueueStoppedType            = FOUR_CHAR_CODE('stop'),
  3188.     kQueueStoppedID                = 0,
  3189.     kQueueIsStopped                = 0x0000,
  3190.     kQueueIsRunning                = 0x0001
  3191. };
  3192.  
  3193. struct ImageStationAddress {
  3194.     ResType                         commType;                    /* communication type == 'ptsr'*/
  3195.     char                             serverName[99];                /* packed AppleTalk name*/
  3196.     char                             pad;
  3197.     unsigned long                     lastNetAddress;                /* last address on the network for this device*/
  3198. };
  3199. typedef struct ImageStationAddress ImageStationAddress;
  3200.  
  3201. typedef ImageStationAddress *            ImageStationPtr;
  3202. typedef ImageStationPtr *                ImageStationHandle;
  3203. /* comm type for PrinterShare*/
  3204.  
  3205. enum {
  3206.     kDCHCommType                = FOUR_CHAR_CODE('ptsr'),
  3207.     kNOPSCommType                = FOUR_CHAR_CODE('nops')
  3208. };
  3209.  
  3210.  
  3211. /* enums for GetSystemPrintingString/SetSystemPrintingString.*/
  3212.  
  3213.  
  3214. enum {
  3215.     kDefaultOutputDriver        = -8188,
  3216.     kDefaultFormattingPrinter    = -8189,
  3217.     kDefaultFormattingDriver    = -8191,
  3218.     kDefaultOutputPrinter        = -8192
  3219. };
  3220.  
  3221.  
  3222. /* Printer Routines: 'pmgr' ID #0*/
  3223.  
  3224. EXTERN_API_C( OSErr )
  3225. NewPrinter                        (gxJob                     theJob,
  3226.                                  TPrinterInfo *            thePrinterInfo,
  3227.                                  gxPrinter *            thePrinter)                            SEVENWORDINLINE(0x203C, 0x1000, 0x0004, 0x2078, 0x0948, 0x2050, 0x4E90);
  3228.  
  3229. EXTERN_API_C( OSErr )
  3230. DisposePrinter                    (gxPrinter                 thePrinter)                            SEVENWORDINLINE(0x203C, 0x1000, 0x0008, 0x2078, 0x0948, 0x2050, 0x4E90);
  3231.  
  3232. EXTERN_API_C( OSErr )
  3233. InitializePrinter                (gxPrinter                 thePrinter)                            SEVENWORDINLINE(0x203C, 0x1000, 0x000C, 0x2078, 0x0948, 0x2050, 0x4E90);
  3234.  
  3235. EXTERN_API_C( OSErr )
  3236. ShutdownPrinter                    (gxPrinter                 thePrinter)                            SEVENWORDINLINE(0x203C, 0x1000, 0x0010, 0x2078, 0x0948, 0x2050, 0x4E90);
  3237.  
  3238. EXTERN_API_C( OSErr )
  3239. UpdatePrinter                    (gxPrinter                 thePrinter,
  3240.                                  TPrinterInfo *            thePrinterInfo,
  3241.                                  Boolean                 forceUpdate)                        SEVENWORDINLINE(0x203C, 0x1000, 0x0014, 0x2078, 0x0948, 0x2050, 0x4E90);
  3242.  
  3243. EXTERN_API_C( OSErr )
  3244. CopyPrinter                        (gxPrinter                 srcPrinter,
  3245.                                  gxPrinter                 destPrinter)                        SEVENWORDINLINE(0x203C, 0x1000, 0x0018, 0x2078, 0x0948, 0x2050, 0x4E90);
  3246.  
  3247. EXTERN_API_C( OSErr )
  3248. GetPrinterModDate                (gxPrinter                 thePrinter,
  3249.                                  long *                    modDate)                            SEVENWORDINLINE(0x203C, 0x1000, 0x001C, 0x2078, 0x0948, 0x2050, 0x4E90);
  3250.  
  3251. EXTERN_API_C( OSErr )
  3252. SetPrinterModDate                (gxPrinter                 thePrinter,
  3253.                                  long                     modDate)                            SEVENWORDINLINE(0x203C, 0x1000, 0x0020, 0x2078, 0x0948, 0x2050, 0x4E90);
  3254.  
  3255. EXTERN_API_C( OSErr )
  3256. DoGXAddPrinterViewDevice        (gxPrinter                 thePrinter,
  3257.                                  gxViewDevice             theViewDevice)                        SEVENWORDINLINE(0x203C, 0x1000, 0x0024, 0x2078, 0x0948, 0x2050, 0x4E90);
  3258.  
  3259. EXTERN_API_C( OSErr )
  3260. DoGXSelectPrinterViewDevice        (gxPrinter                 thePrinter,
  3261.                                  long                     whichViewDevice)                    SEVENWORDINLINE(0x203C, 0x1000, 0x0028, 0x2078, 0x0948, 0x2050, 0x4E90);
  3262.  
  3263. EXTERN_API_C( OSErr )
  3264. DoGXFindPrinterProfile            (gxPrinter                 thePrinter,
  3265.                                  void *                    searchData,
  3266.                                  long                     index,
  3267.                                  gxColorProfile *        returnedProfile,
  3268.                                  long *                    numProfiles)                        SEVENWORDINLINE(0x203C, 0x1000, 0x002C, 0x2078, 0x0948, 0x2050, 0x4E90);
  3269.  
  3270. EXTERN_API_C( OSErr )
  3271. DoGXSetPrinterProfile            (gxPrinter                 thePrinter,
  3272.                                  gxColorProfile         oldProfile,
  3273.                                  gxColorProfile         newProfile)                            SEVENWORDINLINE(0x203C, 0x1000, 0x0030, 0x2078, 0x0948, 0x2050, 0x4E90);
  3274.  
  3275. EXTERN_API_C( OSErr )
  3276. SyncPrinter                        (gxPrinter                 thePrinter)                            SEVENWORDINLINE(0x203C, 0x1000, 0x0034, 0x2078, 0x0948, 0x2050, 0x4E90);
  3277.  
  3278. EXTERN_API_C( OSErr )
  3279. ReinitializePrinter                (Str31                     printerName)                        SEVENWORDINLINE(0x203C, 0x1000, 0x0038, 0x2078, 0x0948, 0x2050, 0x4E90);
  3280.  
  3281. EXTERN_API_C( OSErr )
  3282. CheckDriverVersion                (Str31                     driverName,
  3283.                                  Boolean *                versionOk)                            SEVENWORDINLINE(0x203C, 0x1000, 0x003C, 0x2078, 0x0948, 0x2050, 0x4E90);
  3284.  
  3285.  
  3286. /* PaperType Routines: 'pmgr' ID #1*/
  3287.  
  3288. EXTERN_API_C( OSErr )
  3289. AllocatePaperType                (gxJob                     theJob,
  3290.                                  gxPaperType *            thePaperType)                        SEVENWORDINLINE(0x203C, 0x1001, 0x0004, 0x2078, 0x0948, 0x2050, 0x4E90);
  3291.  
  3292. EXTERN_API_C( OSErr )
  3293. DoGXNewPaperType                (gxJob                     theJob,
  3294.                                  Str31                     thePaperName,
  3295.                                  gxRectangle *            thePageArea,
  3296.                                  gxRectangle *            thePaperArea,
  3297.                                  gxPaperType *            thePaperType)                        SEVENWORDINLINE(0x203C, 0x1001, 0x0008, 0x2078, 0x0948, 0x2050, 0x4E90);
  3298.  
  3299. EXTERN_API_C( OSErr )
  3300. DoGXGetNewPaperType                (gxJob                     theJob,
  3301.                                  short                     theResID,
  3302.                                  gxPaperType *            dstPaperType)                        SEVENWORDINLINE(0x203C, 0x1001, 0x000C, 0x2078, 0x0948, 0x2050, 0x4E90);
  3303.  
  3304. EXTERN_API_C( OSErr )
  3305. DoGXCopyPaperType                (gxPaperType             srcPaperType,
  3306.                                  gxPaperType *            dstPaperType)                        SEVENWORDINLINE(0x203C, 0x1001, 0x0010, 0x2078, 0x0948, 0x2050, 0x4E90);
  3307.  
  3308. EXTERN_API_C( OSErr )
  3309. DoGXCountJobPaperTypes            (gxJob                     theJob,
  3310.                                  Boolean                 forFormatDevice,
  3311.                                  long *                    numPaperTypes)                        SEVENWORDINLINE(0x203C, 0x1001, 0x0014, 0x2078, 0x0948, 0x2050, 0x4E90);
  3312.  
  3313. EXTERN_API_C( OSErr )
  3314. DoGXGetJobPaperType                (gxJob                     theJob,
  3315.                                  long                     whichPaperType,
  3316.                                  Boolean                 forFormatDevice,
  3317.                                  gxPaperType *            dstPaperType)                        SEVENWORDINLINE(0x203C, 0x1001, 0x0018, 0x2078, 0x0948, 0x2050, 0x4E90);
  3318.  
  3319. EXTERN_API_C( OSErr )
  3320. DoGXForEachJobPaperTypeDo        (gxJob                     theJob,
  3321.                                  GXPaperTypeUPP         paperTypeProc,
  3322.                                  void *                    refCon,
  3323.                                  Boolean                 forFormatDevice)                    SEVENWORDINLINE(0x203C, 0x1001, 0x001C, 0x2078, 0x0948, 0x2050, 0x4E90);
  3324.  
  3325. EXTERN_API_C( OSErr )
  3326. DoGXGetPaperTypeDimensions        (gxPaperType             thePaperType,
  3327.                                  gxRectangle *            pageSize,
  3328.                                  gxRectangle *            paperSize)                            SEVENWORDINLINE(0x203C, 0x1001, 0x0020, 0x2078, 0x0948, 0x2050, 0x4E90);
  3329.  
  3330. EXTERN_API_C( OSErr )
  3331. SetPaperTypeName                (gxPaperType             thePaperType,
  3332.                                  Str31                     thePaperTypeName)                    SEVENWORDINLINE(0x203C, 0x1001, 0x0024, 0x2078, 0x0948, 0x2050, 0x4E90);
  3333.  
  3334. EXTERN_API_C( OSErr )
  3335. SetPaperTypeDimensions            (gxPaperType             thePaperType,
  3336.                                  gxRectangle *            pageRect,
  3337.                                  gxRectangle *            paperRect)                            SEVENWORDINLINE(0x203C, 0x1001, 0x0028, 0x2078, 0x0948, 0x2050, 0x4E90);
  3338.  
  3339. EXTERN_API_C( OSErr )
  3340. GetPaperTypeNameList            (gxJob                     aJob,
  3341.                                  unsigned char             paperTypeGroup,
  3342.                                  Str31                     groupName,
  3343.                                  unsigned char             whichPaperTypes,
  3344.                                  unsigned short *        numNames,
  3345.                                  Handle *                ptNameList)                            SEVENWORDINLINE(0x203C, 0x1001, 0x002C, 0x2078, 0x0948, 0x2050, 0x4E90);
  3346.  
  3347. EXTERN_API_C( OSErr )
  3348. GetPaperTypeNameFromList        (unsigned short         whichName,
  3349.                                  Str31                     paperTypeName,
  3350.                                  Handle                 ptNameList)                            SEVENWORDINLINE(0x203C, 0x1001, 0x0030, 0x2078, 0x0948, 0x2050, 0x4E90);
  3351.  
  3352. EXTERN_API_C( OSErr )
  3353. GetPaperTypeGroupSpec            (unsigned char             paperTypeGroup,
  3354.                                  Str31                     groupName,
  3355.                                  PTGroupSpecPtr         ptGroupSpec)                        SEVENWORDINLINE(0x203C, 0x1001, 0x0034, 0x2078, 0x0948, 0x2050, 0x4E90);
  3356.  
  3357. EXTERN_API_C( OSErr )
  3358. DoGXGetPaperType                (gxJob                     aJob,
  3359.                                  PTGroupSpecPtr         ptGroupSpec,
  3360.                                  short                     ptIndex,
  3361.                                  Str31                     ptName,
  3362.                                  long                     ptBaseType,
  3363.                                  Boolean                 getDefaultPT,
  3364.                                  gxPaperType             thePaperType)                        SEVENWORDINLINE(0x203C, 0x1001, 0x0038, 0x2078, 0x0948, 0x2050, 0x4E90);
  3365.  
  3366. EXTERN_API_C( OSErr )
  3367. SavePaperType                    (PTGroupSpecPtr         ptGroupSpec,
  3368.                                  gxPaperType             thePaperType)                        SEVENWORDINLINE(0x203C, 0x1001, 0x003C, 0x2078, 0x0948, 0x2050, 0x4E90);
  3369.  
  3370. EXTERN_API_C( OSErr )
  3371. RemovePaperType                    (PTGroupSpecPtr         ptGroupSpec,
  3372.                                  gxPaperType             thePaperType)                        SEVENWORDINLINE(0x203C, 0x1001, 0x0040, 0x2078, 0x0948, 0x2050, 0x4E90);
  3373.  
  3374.  
  3375. /* Format Routines: 'pmgr' ID #2*/
  3376.  
  3377. EXTERN_API_C( OSErr )
  3378. AllocateFormat                    (gxJob                     theJob,
  3379.                                  gxFormat *                theFormat)                            SEVENWORDINLINE(0x203C, 0x1002, 0x0004, 0x2078, 0x0948, 0x2050, 0x4E90);
  3380.  
  3381. EXTERN_API_C( OSErr )
  3382. DoGXNewFormat                    (gxJob                     theJob,
  3383.                                  gxFormat *                theFormat)                            SEVENWORDINLINE(0x203C, 0x1002, 0x0008, 0x2078, 0x0948, 0x2050, 0x4E90);
  3384.  
  3385. EXTERN_API_C( OSErr )
  3386. DoGXCopyFormat                    (gxFormat                 srcFormat,
  3387.                                  gxFormat *                dstFormat)                            SEVENWORDINLINE(0x203C, 0x1002, 0x000C, 0x2078, 0x0948, 0x2050, 0x4E90);
  3388.  
  3389. EXTERN_API_C( OSErr )
  3390. DoGXGetFormatDimensions            (gxFormat                 theFormat,
  3391.                                  gxRectangle *            pageSize,
  3392.                                  gxRectangle *            paperSize)                            SEVENWORDINLINE(0x203C, 0x1002, 0x0010, 0x2078, 0x0948, 0x2050, 0x4E90);
  3393.  
  3394. EXTERN_API_C( OSErr )
  3395. DoGXSetFormatForm                (gxFormat                 theFormat,
  3396.                                  gxShape                 form,
  3397.                                  gxShape                 mask)                                SEVENWORDINLINE(0x203C, 0x1002, 0x0014, 0x2078, 0x0948, 0x2050, 0x4E90);
  3398.  
  3399. EXTERN_API_C( OSErr )
  3400. DoGXForEachJobFormatDo            (gxJob                     theJob,
  3401.                                  GXFormatUPP             formatProc,
  3402.                                  void *                    refCon)                                SEVENWORDINLINE(0x203C, 0x1002, 0x0018, 0x2078, 0x0948, 0x2050, 0x4E90);
  3403.  
  3404. EXTERN_API_C( OSErr )
  3405. DoGXChangedFormat                (gxFormat                 theFormat)                            SEVENWORDINLINE(0x203C, 0x1002, 0x001C, 0x2078, 0x0948, 0x2050, 0x4E90);
  3406.  
  3407. EXTERN_API_C( OSErr )
  3408. DoGXFindFormatProfile            (gxFormat                 theFormat,
  3409.                                  void *                    searchData,
  3410.                                  long                     index,
  3411.                                  gxColorProfile *        returnedProfile,
  3412.                                  long *                    numProfiles)                        SEVENWORDINLINE(0x203C, 0x1002, 0x0020, 0x2078, 0x0948, 0x2050, 0x4E90);
  3413.  
  3414. EXTERN_API_C( OSErr )
  3415. DoGXSetFormatProfile            (gxFormat                 theFormat,
  3416.                                  gxColorProfile         oldProfile,
  3417.                                  gxColorProfile         newProfile)                            SEVENWORDINLINE(0x203C, 0x1002, 0x0024, 0x2078, 0x0948, 0x2050, 0x4E90);
  3418.  
  3419.  
  3420. /* Extension Routines: 'pmgr' ID #3*/
  3421.  
  3422. EXTERN_API_C( OSErr )
  3423. InitDeviceExtensionList            (Str31                     deviceName)                            SEVENWORDINLINE(0x203C, 0x1003, 0x0004, 0x2078, 0x0948, 0x2050, 0x4E90);
  3424.  
  3425. EXTERN_API_C( OSErr )
  3426. EnableExtension                    (Str31                     extensionName,
  3427.                                  Boolean                 isEnabled)                            SEVENWORDINLINE(0x203C, 0x1003, 0x0008, 0x2078, 0x0948, 0x2050, 0x4E90);
  3428.  
  3429. EXTERN_API_C( OSErr )
  3430. GetDeviceExtensionList            (Str31                     deviceName,
  3431.                                  ExtensionList *        extensionList)                        SEVENWORDINLINE(0x203C, 0x1003, 0x000C, 0x2078, 0x0948, 0x2050, 0x4E90);
  3432.  
  3433. EXTERN_API_C( OSErr )
  3434. CountExtensions                    (ExtensionList             extensionList,
  3435.                                  long *                    count)                                SEVENWORDINLINE(0x203C, 0x1003, 0x0010, 0x2078, 0x0948, 0x2050, 0x4E90);
  3436.  
  3437. EXTERN_API_C( OSErr )
  3438. FindExtension                    (ExtensionList             extensionList,
  3439.                                  Str31                     extensionName,
  3440.                                  long *                    location)                            SEVENWORDINLINE(0x203C, 0x1003, 0x0014, 0x2078, 0x0948, 0x2050, 0x4E90);
  3441.  
  3442. EXTERN_API_C( OSErr )
  3443. GetIndexedExtensionInfo            (ExtensionList             extensionList,
  3444.                                  long                     whichExtension,
  3445.                                  TExtensionDeviceInfo *    extensionDevInfo)                    SEVENWORDINLINE(0x203C, 0x1003, 0x0018, 0x2078, 0x0948, 0x2050, 0x4E90);
  3446.  
  3447. EXTERN_API_C( OSErr )
  3448. ActivateDeviceExtension            (ExtensionList             extensionList,
  3449.                                  long                     whichExtension,
  3450.                                  Boolean                 isActive)                            SEVENWORDINLINE(0x203C, 0x1003, 0x001C, 0x2078, 0x0948, 0x2050, 0x4E90);
  3451.  
  3452. EXTERN_API_C( OSErr )
  3453. IsExtensionActive                (ExtensionList             extensionList,
  3454.                                  long                     whichExtension,
  3455.                                  Boolean *                isActive)                            SEVENWORDINLINE(0x203C, 0x1003, 0x0020, 0x2078, 0x0948, 0x2050, 0x4E90);
  3456.  
  3457. EXTERN_API_C( OSErr )
  3458. InsertExtension                    (ExtensionList             extensionList,
  3459.                                  long                     where,
  3460.                                  TExtensionDeviceInfo *    extensionDevInfo)                    SEVENWORDINLINE(0x203C, 0x1003, 0x0024, 0x2078, 0x0948, 0x2050, 0x4E90);
  3461.  
  3462. EXTERN_API_C( OSErr )
  3463. RemoveExtension                    (ExtensionList             extensionList,
  3464.                                  long                     where)                                SEVENWORDINLINE(0x203C, 0x1003, 0x0028, 0x2078, 0x0948, 0x2050, 0x4E90);
  3465.  
  3466. EXTERN_API_C( OSErr )
  3467. MoveExtension                    (ExtensionList             extensionList,
  3468.                                  long                     moveFrom,
  3469.                                  long                     moveTo)                                SEVENWORDINLINE(0x203C, 0x1003, 0x002C, 0x2078, 0x0948, 0x2050, 0x4E90);
  3470.  
  3471. EXTERN_API_C( OSErr )
  3472. ConfirmDeviceExtensionList        (Str31                     deviceName,
  3473.                                  ExtensionList             extensionList)                        SEVENWORDINLINE(0x203C, 0x1003, 0x0030, 0x2078, 0x0948, 0x2050, 0x4E90);
  3474.  
  3475. EXTERN_API_C( OSErr )
  3476. UpdateExtensionLists            (void)                                                        SEVENWORDINLINE(0x203C, 0x1003, 0x0034, 0x2078, 0x0948, 0x2050, 0x4E90);
  3477.  
  3478. EXTERN_API_C( OSErr )
  3479. GetJobExtensionList                (gxJob                     theJob,
  3480.                                  ExtensionList *        extensionList)                        SEVENWORDINLINE(0x203C, 0x1003, 0x0038, 0x2078, 0x0948, 0x2050, 0x4E90);
  3481.  
  3482. EXTERN_API_C( OSErr )
  3483. GetDeviceExtensionActiveList    (Str31                     deviceName,
  3484.                                  ExtensionList *        extensionList)                        SEVENWORDINLINE(0x203C, 0x1003, 0x003C, 0x2078, 0x0948, 0x2050, 0x4E90);
  3485.  
  3486. EXTERN_API_C( OSErr )
  3487. GetPrintingClientFromSignature    (gxJob                     theJob,
  3488.                                  gxOwnerSignature         handlerSignature,
  3489.                                  TPrintingClient *        pClient)                            SEVENWORDINLINE(0x203C, 0x1003, 0x0040, 0x2078, 0x0948, 0x2050, 0x4E90);
  3490.  
  3491.  
  3492. /* Job Routines: 'pmgr' ID #4*/
  3493.  
  3494. EXTERN_API_C( OSErr )
  3495. AllocateJob                        (gxJob *                theJob)                                SEVENWORDINLINE(0x203C, 0x1004, 0x0004, 0x2078, 0x0948, 0x2050, 0x4E90);
  3496.  
  3497. EXTERN_API_C( OSErr )
  3498. DeallocateJob                    (gxJob                     theJob)                                SEVENWORDINLINE(0x203C, 0x1004, 0x0008, 0x2078, 0x0948, 0x2050, 0x4E90);
  3499.  
  3500. EXTERN_API_C( OSErr )
  3501. SelectDriver                    (gxJob                     theJob,
  3502.                                  Boolean                 useLoadInfo,
  3503.                                  Boolean                 isOutputDevice)                        SEVENWORDINLINE(0x203C, 0x1004, 0x000C, 0x2078, 0x0948, 0x2050, 0x4E90);
  3504.  
  3505. EXTERN_API_C( OSErr )
  3506. DoGXNewJob                        (gxJob *                theJob)                                SEVENWORDINLINE(0x203C, 0x1004, 0x0010, 0x2078, 0x0948, 0x2050, 0x4E90);
  3507.  
  3508. EXTERN_API_C( OSErr )
  3509. DoGXDisposeJob                    (gxJob                     theJob)                                SEVENWORDINLINE(0x203C, 0x1004, 0x0014, 0x2078, 0x0948, 0x2050, 0x4E90);
  3510.  
  3511. EXTERN_API_C( OSErr )
  3512. DoGXCopyJob                        (gxJob                     srcJob,
  3513.                                  gxJob *                dstJob)                                SEVENWORDINLINE(0x203C, 0x1004, 0x0018, 0x2078, 0x0948, 0x2050, 0x4E90);
  3514.  
  3515. EXTERN_API_C( OSErr )
  3516. DoGXGetJobPageRange                (gxJob                     theJob,
  3517.                                  long *                    firstPage,
  3518.                                  long *                    lastPage)                            SEVENWORDINLINE(0x203C, 0x1004, 0x001C, 0x2078, 0x0948, 0x2050, 0x4E90);
  3519.  
  3520. EXTERN_API_C( OSErr )
  3521. DoGXInstallApplicationOverride    (gxJob                     theJob,
  3522.                                  short                     messageID,
  3523.                                  void *                    override)                            SEVENWORDINLINE(0x203C, 0x1004, 0x0020, 0x2078, 0x0948, 0x2050, 0x4E90);
  3524.  
  3525. EXTERN_API_C( OSErr )
  3526. DoGXUpdateJob                    (gxJob                     theJob,
  3527.                                  Boolean *                changedIt)                            SEVENWORDINLINE(0x203C, 0x1004, 0x0024, 0x2078, 0x0948, 0x2050, 0x4E90);
  3528.  
  3529.  
  3530. /* Print file Routines: 'pmgr' ID #5*/
  3531.  
  3532. EXTERN_API_C( OSErr )
  3533. DoGXOpenPrintFile                (gxJob                     theJob,
  3534.                                  FSSpecPtr                 fSpec,
  3535.                                  char                     permission,
  3536.                                  gxPrintFile *            thePrintFile)                        SEVENWORDINLINE(0x203C, 0x1005, 0x0004, 0x2078, 0x0948, 0x2050, 0x4E90);
  3537.  
  3538. EXTERN_API_C( OSErr )
  3539. DoGXClosePrintFile                (gxPrintFile             thePrintFile)                        SEVENWORDINLINE(0x203C, 0x1005, 0x0008, 0x2078, 0x0948, 0x2050, 0x4E90);
  3540.  
  3541. EXTERN_API_C( OSErr )
  3542. DoGXReadPrintFilePage            (gxPrintFile             thePrintFile,
  3543.                                  long                     pageNumber,
  3544.                                  long                     numViewPorts,
  3545.                                  gxViewPort *            viewPortList,
  3546.                                  gxFormat *                pageFormat,
  3547.                                  gxShape *                pageShape)                            SEVENWORDINLINE(0x203C, 0x1005, 0x000C, 0x2078, 0x0948, 0x2050, 0x4E90);
  3548.  
  3549. EXTERN_API_C( OSErr )
  3550. DoGXReplacePrintFilePage        (gxPrintFile             thePrintFile,
  3551.                                  long                     pageNumber,
  3552.                                  gxFormat                 pageFormat,
  3553.                                  gxShape                 pageShape)                            SEVENWORDINLINE(0x203C, 0x1005, 0x0010, 0x2078, 0x0948, 0x2050, 0x4E90);
  3554.  
  3555. EXTERN_API_C( OSErr )
  3556. DoGXInsertPrintFilePage            (gxPrintFile             thePrintFile,
  3557.                                  long                     atPageNumber,
  3558.                                  gxFormat                 pageFormat,
  3559.                                  gxShape                 pageShape)                            SEVENWORDINLINE(0x203C, 0x1005, 0x0014, 0x2078, 0x0948, 0x2050, 0x4E90);
  3560.  
  3561. EXTERN_API_C( OSErr )
  3562. DoGXDeletePrintFilePageRange    (gxPrintFile             thePrintFile,
  3563.                                  long                     fromPageNumber,
  3564.                                  long                     toPageNumber)                        SEVENWORDINLINE(0x203C, 0x1005, 0x0018, 0x2078, 0x0948, 0x2050, 0x4E90);
  3565.  
  3566. EXTERN_API_C( OSErr )
  3567. DoGXSavePrintFile                (gxPrintFile             thePrintFile,
  3568.                                  FSSpec *                fSpec)                                SEVENWORDINLINE(0x203C, 0x1005, 0x001C, 0x2078, 0x0948, 0x2050, 0x4E90);
  3569.  
  3570.  
  3571. /* Public API Routines: 'pmgr' ID #6*/
  3572.  
  3573. EXTERN_API_C( OSErr )
  3574. DoGXJobDefaultFormatDialog        (gxJob                     theJob,
  3575.                                  gxEditMenuRecord *        editMenuRec,
  3576.                                  gxDialogResult *        dialogResult)                        SEVENWORDINLINE(0x203C, 0x1006, 0x0004, 0x2078, 0x0948, 0x2050, 0x4E90);
  3577.  
  3578. EXTERN_API_C( OSErr )
  3579. DoGXJobPrintDialog                (gxJob                     theJob,
  3580.                                  gxEditMenuRecord *        editMenuRec,
  3581.                                  gxDialogResult *        dialogResult)                        SEVENWORDINLINE(0x203C, 0x1006, 0x0008, 0x2078, 0x0948, 0x2050, 0x4E90);
  3582.  
  3583. EXTERN_API_C( OSErr )
  3584. DoGXFormatDialog                (gxFormat                 theFormat,
  3585.                                  gxEditMenuRecord *        editMenuRec,
  3586.                                  StringPtr                 title,
  3587.                                  gxDialogResult *        dialogResult)                        SEVENWORDINLINE(0x203C, 0x1006, 0x000C, 0x2078, 0x0948, 0x2050, 0x4E90);
  3588.  
  3589. EXTERN_API_C( OSErr )
  3590. DoGXEnableJobScalingPanel        (gxJob                     theJob,
  3591.                                  Boolean                 enabled)                            SEVENWORDINLINE(0x203C, 0x1006, 0x0010, 0x2078, 0x0948, 0x2050, 0x4E90);
  3592.  
  3593. EXTERN_API_C( OSErr )
  3594. DoGXGetJobPanelDimensions        (gxJob                     theJob,
  3595.                                  Rect *                    panelArea)                            SEVENWORDINLINE(0x203C, 0x1006, 0x0014, 0x2078, 0x0948, 0x2050, 0x4E90);
  3596.  
  3597. EXTERN_API_C( OSErr )
  3598. DoGXStartJob                    (gxJob                     theJob,
  3599.                                  StringPtr                 docName,
  3600.                                  long                     pageCount)                            SEVENWORDINLINE(0x203C, 0x1006, 0x0018, 0x2078, 0x0948, 0x2050, 0x4E90);
  3601.  
  3602. EXTERN_API_C( OSErr )
  3603. DoGXFinishJob                    (gxJob                     theJob)                                SEVENWORDINLINE(0x203C, 0x1006, 0x001C, 0x2078, 0x0948, 0x2050, 0x4E90);
  3604.  
  3605. EXTERN_API_C( OSErr )
  3606. DoGXStartPage                    (gxJob                     theJob,
  3607.                                  long                     pageNumber,
  3608.                                  gxFormat                 pageFormat,
  3609.                                  long                     numViewPorts,
  3610.                                  gxViewPort *            viewPortList,
  3611.                                  Boolean *                pageInRange)                        SEVENWORDINLINE(0x203C, 0x1006, 0x0020, 0x2078, 0x0948, 0x2050, 0x4E90);
  3612.  
  3613. EXTERN_API_C( OSErr )
  3614. DoGXFinishPage                    (gxJob                     theJob)                                SEVENWORDINLINE(0x203C, 0x1006, 0x0024, 0x2078, 0x0948, 0x2050, 0x4E90);
  3615.  
  3616. EXTERN_API_C( OSErr )
  3617. DoGXPrintPage                    (gxJob                     theJob,
  3618.                                  long                     pageNumber,
  3619.                                  gxFormat                 pageFormat,
  3620.                                  gxShape                 pageShape)                            SEVENWORDINLINE(0x203C, 0x1006, 0x0028, 0x2078, 0x0948, 0x2050, 0x4E90);
  3621.  
  3622. EXTERN_API_C( OSErr )
  3623. DoGXSetAvailableJobFormatModes    (gxJob                     theJob,
  3624.                                  gxJobFormatModeTableHdl  formatModeTable)                    SEVENWORDINLINE(0x203C, 0x1006, 0x002C, 0x2078, 0x0948, 0x2050, 0x4E90);
  3625.  
  3626. EXTERN_API_C( OSErr )
  3627. DoGXGetPreferredJobFormatMode    (gxJob                     theJob,
  3628.                                  gxJobFormatMode *        formatMode,
  3629.                                  Boolean *                directOnly)                            SEVENWORDINLINE(0x203C, 0x1006, 0x0030, 0x2078, 0x0948, 0x2050, 0x4E90);
  3630.  
  3631. EXTERN_API_C( OSErr )
  3632. DoGXGetJobFormatMode            (gxJob                     theJob,
  3633.                                  gxJobFormatMode *        formatMode)                            SEVENWORDINLINE(0x203C, 0x1006, 0x0034, 0x2078, 0x0948, 0x2050, 0x4E90);
  3634.  
  3635. EXTERN_API_C( OSErr )
  3636. DoGXSetJobFormatMode            (gxJob                     theJob,
  3637.                                  gxJobFormatMode         formatMode)                            SEVENWORDINLINE(0x203C, 0x1006, 0x0038, 0x2078, 0x0948, 0x2050, 0x4E90);
  3638.  
  3639. EXTERN_API_C( OSErr )
  3640. DoGXJobFormatModeQuery            (gxJob                     theJob,
  3641.                                  gxQueryType             typeOfQuery,
  3642.                                  void *                    srcData,
  3643.                                  void *                    dstData)                            SEVENWORDINLINE(0x203C, 0x1006, 0x003C, 0x2078, 0x0948, 0x2050, 0x4E90);
  3644.  
  3645. EXTERN_API_C( OSErr )
  3646. DoGXSelectJobFormattingPrinter    (gxJob                     theJob,
  3647.                                  Str31                     printerName)                        SEVENWORDINLINE(0x203C, 0x1006, 0x0040, 0x2078, 0x0948, 0x2050, 0x4E90);
  3648.  
  3649. EXTERN_API_C( OSErr )
  3650. DoGXSelectJobOutputPrinter        (gxJob                     theJob,
  3651.                                  Str31                     printerName)                        SEVENWORDINLINE(0x203C, 0x1006, 0x0044, 0x2078, 0x0948, 0x2050, 0x4E90);
  3652.  
  3653. EXTERN_API_C( OSErr )
  3654. DoGXConvertPrintRecord            (gxJob                     theJob,
  3655.                                  THPrint                 hPrint)                                SEVENWORDINLINE(0x203C, 0x1006, 0x0048, 0x2078, 0x0948, 0x2050, 0x4E90);
  3656.  
  3657.  
  3658. /* Protected API Routines: 'pmgr' ID #7*/
  3659.  
  3660. EXTERN_API_C( OSErr )
  3661. DoGXReportStatus                (long                     statusID,
  3662.                                  unsigned long             statusIndex)                        SEVENWORDINLINE(0x203C, 0x1007, 0x0004, 0x2078, 0x0948, 0x2050, 0x4E90);
  3663.  
  3664. EXTERN_API_C( OSErr )
  3665. DoGXAlertTheUser                (gxStatusRecord *        statusRec)                            SEVENWORDINLINE(0x203C, 0x1007, 0x0008, 0x2078, 0x0948, 0x2050, 0x4E90);
  3666.  
  3667. EXTERN_API_C( OSErr )
  3668. DoGXSetupDialogPanel            (gxPanelSetupRecord *    panelRec)                            SEVENWORDINLINE(0x203C, 0x1007, 0x000C, 0x2078, 0x0948, 0x2050, 0x4E90);
  3669.  
  3670. EXTERN_API_C( OSErr )
  3671. DoGXCountTrays                    (gxTrayIndex *            numTrays)                            SEVENWORDINLINE(0x203C, 0x1007, 0x0010, 0x2078, 0x0948, 0x2050, 0x4E90);
  3672.  
  3673. EXTERN_API_C( OSErr )
  3674. DoGXGetTrayName                    (gxTrayIndex             whichTray,
  3675.                                  Str31                     trayName)                            SEVENWORDINLINE(0x203C, 0x1007, 0x0014, 0x2078, 0x0948, 0x2050, 0x4E90);
  3676.  
  3677. EXTERN_API_C( OSErr )
  3678. DoGXSetTrayPaperType            (gxTrayIndex             whichTray,
  3679.                                  gxPaperType             trayPaperType)                        SEVENWORDINLINE(0x203C, 0x1007, 0x0018, 0x2078, 0x0948, 0x2050, 0x4E90);
  3680.  
  3681. EXTERN_API_C( OSErr )
  3682. DoGXGetTrayPaperType            (gxTrayIndex             whichTray,
  3683.                                  gxPaperType             trayPaperType)                        SEVENWORDINLINE(0x203C, 0x1007, 0x001C, 0x2078, 0x0948, 0x2050, 0x4E90);
  3684.  
  3685. EXTERN_API_C( OSErr )
  3686. DoGXGetTrayMapping                (gxTrayMapping *        trayMapping)                        SEVENWORDINLINE(0x203C, 0x1007, 0x0020, 0x2078, 0x0948, 0x2050, 0x4E90);
  3687.  
  3688. EXTERN_API_C( void )
  3689. DoGXCleanupStartJob                (void)                                                        SEVENWORDINLINE(0x203C, 0x1007, 0x0024, 0x2078, 0x0948, 0x2050, 0x4E90);
  3690.  
  3691. EXTERN_API_C( void )
  3692. DoGXCleanupStartPage            (void)                                                        SEVENWORDINLINE(0x203C, 0x1007, 0x0028, 0x2078, 0x0948, 0x2050, 0x4E90);
  3693.  
  3694. EXTERN_API_C( void )
  3695. DoGXCleanupOpenConnection        (void)                                                        SEVENWORDINLINE(0x203C, 0x1007, 0x002C, 0x2078, 0x0948, 0x2050, 0x4E90);
  3696.  
  3697. EXTERN_API_C( void )
  3698. DoGXCleanupStartSendPage        (void)                                                        SEVENWORDINLINE(0x203C, 0x1007, 0x0030, 0x2078, 0x0948, 0x2050, 0x4E90);
  3699.  
  3700. EXTERN_API_C( OSErr )
  3701. DoGXGetAvailableJobFormatModes    (gxJobFormatModeTableHdl * formatModeTable)                    SEVENWORDINLINE(0x203C, 0x1007, 0x0034, 0x2078, 0x0948, 0x2050, 0x4E90);
  3702.  
  3703. EXTERN_API_C( OSErr )
  3704. DoGXSetPreferredJobFormatMode    (gxJobFormatMode         formatMode,
  3705.                                  Boolean                 directOnly)                            SEVENWORDINLINE(0x203C, 0x1007, 0x0038, 0x2078, 0x0948, 0x2050, 0x4E90);
  3706.  
  3707. EXTERN_API_C( OSErr )
  3708. DoGXFetchDTPData                (Str31                     dtpName,
  3709.                                  ResType                 theType,
  3710.                                  long                     theID,
  3711.                                  Handle *                theData)                            SEVENWORDINLINE(0x203C, 0x1007, 0x003C, 0x2078, 0x0948, 0x2050, 0x4E90);
  3712.  
  3713. EXTERN_API_C( OSErr )
  3714. DoGXWriteDTPData                (Str31                     dtpName,
  3715.                                  ResType                 theType,
  3716.                                  long                     theID,
  3717.                                  Handle                 theData)                            SEVENWORDINLINE(0x203C, 0x1007, 0x0040, 0x2078, 0x0948, 0x2050, 0x4E90);
  3718.  
  3719. EXTERN_API_C( OSErr )
  3720. DoGXHandleChooserMessage        (gxJob *                aJob,
  3721.                                  Str31                     driverName,
  3722.                                  long                     message,
  3723.                                  long                     caller,
  3724.                                  StringPtr                 objName,
  3725.                                  StringPtr                 zoneName,
  3726.                                  ListHandle             theList,
  3727.                                  long                     p2)                                    SEVENWORDINLINE(0x203C, 0x1007, 0x0044, 0x2078, 0x0948, 0x2050, 0x4E90);
  3728.  
  3729.  
  3730. /* Private API Routines: 'pmgr' ID #8*/
  3731.  
  3732. EXTERN_API_C( OSErr )
  3733. GetDTPMenuList                    (gxJob                     theJob,
  3734.                                  MenuHandle             printingMenu)                        SEVENWORDINLINE(0x203C, 0x1008, 0x0004, 0x2078, 0x0948, 0x2050, 0x4E90);
  3735.  
  3736. EXTERN_API_C( OSErr )
  3737. DTPMenuSelect                    (gxJob                     theJob,
  3738.                                  short                     itemID)                                SEVENWORDINLINE(0x203C, 0x1008, 0x0008, 0x2078, 0x0948, 0x2050, 0x4E90);
  3739.  
  3740. EXTERN_API_C( OSErr )
  3741. HandleAlertFilter                (gxJob                     theJob,
  3742.                                  gxStatusRecord *        statusRec,
  3743.                                  DialogPtr                 theDialog,
  3744.                                  EventRecord *            theEvent,
  3745.                                  short *                itemHit,
  3746.                                  Boolean *                returnImmed)                        SEVENWORDINLINE(0x203C, 0x1008, 0x000C, 0x2078, 0x0948, 0x2050, 0x4E90);
  3747.  
  3748. EXTERN_API_C( OSErr )
  3749. CreateDTP                        (gxJob                     theJob,
  3750.                                  FSSpecPtr                 dtpLocation,
  3751.                                  Str31                     driverName,
  3752.                                  Handle                 commMethod)                            SEVENWORDINLINE(0x203C, 0x1008, 0x0010, 0x2078, 0x0948, 0x2050, 0x4E90);
  3753.  
  3754. EXTERN_API_C( OSErr )
  3755. DeleteDTP                        (Str31                     dtpName)                            SEVENWORDINLINE(0x203C, 0x1008, 0x0014, 0x2078, 0x0948, 0x2050, 0x4E90);
  3756.  
  3757. EXTERN_API_C( OSErr )
  3758. ForAllDTPsDo                    (DTPUPP                 aProc,
  3759.                                  void *                    refCon,
  3760.                                  long *                    numDTPs)                            SEVENWORDINLINE(0x203C, 0x1008, 0x0018, 0x2078, 0x0948, 0x2050, 0x4E90);
  3761.  
  3762. EXTERN_API_C( OSErr )
  3763. SelectOldAppPrinter                (const ProcessSerialNumber * PSN,
  3764.                                  Str31                     dtpName)                            SEVENWORDINLINE(0x203C, 0x1008, 0x001C, 0x2078, 0x0948, 0x2050, 0x4E90);
  3765.  
  3766. EXTERN_API_C( OSErr )
  3767. DoGXDisplayAboutBox                (long                     whichOne);
  3768.  
  3769. /*     = {0x203C, 0x1008, 28, 0x2078, 0x0948, 0x2050, 0x4E90};*/
  3770. EXTERN_API_C( OSErr )
  3771. DoGXGetDTPIconSuite                (gxJob                     theJob,
  3772.                                  OSType                 theType,
  3773.                                  Handle *                theIconSuite);
  3774.  
  3775. /*     = {0x203C, 0x1008, 28, 0x2078, 0x0948, 0x2050, 0x4E90};*/
  3776. EXTERN_API_C( OSErr )
  3777. DoGXHandleDTPDrop                (FSSpec *                theDrop,
  3778.                                  FSSpec *                theTargetDTP,
  3779.                                  DragFlags                 theDragFlags,
  3780.                                  ActionFlags *            theActionFlags);
  3781.  
  3782. /*     = {0x203C, 0x1008, 28, 0x2078, 0x0948, 0x2050, 0x4E90};*/
  3783.  
  3784.  
  3785. EXTERN_API_C( OSErr )
  3786. IsJobOutputDeviceRemote            (gxJob                     theJob,
  3787.                                  Boolean *                isRemote)                            SEVENWORDINLINE(0x203C, 0x1008, 0x0020, 0x2078, 0x0948, 0x2050, 0x4E90);
  3788.  
  3789. EXTERN_API_C( OSErr )
  3790. GetJobOutputDeviceStatus        (gxJob                     theJob,
  3791.                                  long                     queueID,
  3792.                                  long                     deviceID,
  3793.                                  long                     magicCookie)                        SEVENWORDINLINE(0x203C, 0x1008, 0x0024, 0x2078, 0x0948, 0x2050, 0x4E90);
  3794.  
  3795. EXTERN_API_C( OSErr )
  3796. GetJobOutputDeviceFileList        (gxJob                     theJob,
  3797.                                  long                     queueID,
  3798.                                  long                     deviceID,
  3799.                                  long                     magicCookie)                        SEVENWORDINLINE(0x203C, 0x1008, 0x0028, 0x2078, 0x0948, 0x2050, 0x4E90);
  3800.  
  3801. EXTERN_API_C( OSErr )
  3802. GetJobOutputDeviceFileInfo        (gxJob                     theJob,
  3803.                                  long                     queueID,
  3804.                                  long                     deviceID,
  3805.                                  long                     fileID,
  3806.                                  long                     magicCookie)                        SEVENWORDINLINE(0x203C, 0x1008, 0x002C, 0x2078, 0x0948, 0x2050, 0x4E90);
  3807.  
  3808. EXTERN_API_C( OSErr )
  3809. RemoteIdle                        (gxJob                     theJob)                                SEVENWORDINLINE(0x203C, 0x1008, 0x0030, 0x2078, 0x0948, 0x2050, 0x4E90);
  3810.  
  3811. EXTERN_API_C( OSErr )
  3812. OpenRemoteDevice                (gxJob                     theJob,
  3813.                                  Str31                     deviceName,
  3814.                                  GlobalConnectionPtr     theConnection,
  3815.                                  long                     deviceAddr)                            SEVENWORDINLINE(0x203C, 0x1008, 0x0034, 0x2078, 0x0948, 0x2050, 0x4E90);
  3816.  
  3817. EXTERN_API_C( OSErr )
  3818. CloseRemoteDevice                (gxJob                     theJob,
  3819.                                  Str31                     deviceName,
  3820.                                  GlobalConnectionPtr     theConnection)                        SEVENWORDINLINE(0x203C, 0x1008, 0x0038, 0x2078, 0x0948, 0x2050, 0x4E90);
  3821.  
  3822. EXTERN_API_C( OSErr )
  3823. AuthenticateTheConnection        (gxJob                     theJob,
  3824.                                  GlobalConnectionPtr     sharedConnection,
  3825.                                  Str32                     userName,
  3826.                                  unsigned long             privRequested)                        SEVENWORDINLINE(0x203C, 0x1008, 0x003C, 0x2078, 0x0948, 0x2050, 0x4E90);
  3827.  
  3828. EXTERN_API_C( OSErr )
  3829. CaptureOutputDevice                (gxJob                     theJob,
  3830.                                  Boolean                 capture)                            SEVENWORDINLINE(0x203C, 0x1008, 0x0040, 0x2078, 0x0948, 0x2050, 0x4E90);
  3831.  
  3832. EXTERN_API_C( OSErr )
  3833. SendFileToRemoteDevice            (gxJob                     theJob,
  3834.                                  GlobalConnectionPtr     theConnection,
  3835.                                  gxSpoolFile             spoolFile,
  3836.                                  Boolean *                sendImageFile)                        SEVENWORDINLINE(0x203C, 0x1008, 0x0044, 0x2078, 0x0948, 0x2050, 0x4E90);
  3837.  
  3838. EXTERN_API_C( OSErr )
  3839. GetJobOutputDeviceState            (gxJob                     theJob,
  3840.                                  long                     queueID,
  3841.                                  long                     magicCookie)                        SEVENWORDINLINE(0x203C, 0x1008, 0x0048, 0x2078, 0x0948, 0x2050, 0x4E90);
  3842.  
  3843. EXTERN_API_C( OSErr )
  3844. SetJobOutputDeviceState            (gxJob                     theJob,
  3845.                                  long                     queueID,
  3846.                                  long                     magicCookie,
  3847.                                  long                     queueState)                            SEVENWORDINLINE(0x203C, 0x1008, 0x004C, 0x2078, 0x0948, 0x2050, 0x4E90);
  3848.  
  3849. EXTERN_API_C( OSErr )
  3850. SetJobOutputDeviceFileInfo        (gxJob                     theJob,
  3851.                                  long                     queueID,
  3852.                                  long                     deviceID,
  3853.                                  long                     fileID,
  3854.                                  long                     magicCookie,
  3855.                                  long                     priority,
  3856.                                  long                     timeToPrint,
  3857.                                  long                     jobTimeout,
  3858.                                  long                     firstPageToPrint,
  3859.                                  long                     numPages,
  3860.                                  long                     jobAlert)                            SEVENWORDINLINE(0x203C, 0x1008, 0x0050, 0x2078, 0x0948, 0x2050, 0x4E90);
  3861.  
  3862. EXTERN_API_C( OSErr )
  3863. DeleteRemoteFile                (gxJob                     theJob,
  3864.                                  long                     queueID,
  3865.                                  long                     deviceID,
  3866.                                  long                     fileID)                                SEVENWORDINLINE(0x203C, 0x1008, 0x0054, 0x2078, 0x0948, 0x2050, 0x4E90);
  3867.  
  3868. EXTERN_API_C( OSErr )
  3869. GetJobOutputDeviceInfoList        (gxJob                     theJob,
  3870.                                  long                     queueID,
  3871.                                  long                     deviceID,
  3872.                                  long                     magicCookie)                        SEVENWORDINLINE(0x203C, 0x1008, 0x0058, 0x2078, 0x0948, 0x2050, 0x4E90);
  3873.  
  3874. EXTERN_API_C( OSErr )
  3875. GetJobOutputDeviceInfo            (gxJob                     theJob,
  3876.                                  long                     queueID,
  3877.                                  long                     deviceID,
  3878.                                  long                     magicCookie,
  3879.                                  ResType                 infoType,
  3880.                                  long                     infoID)                                SEVENWORDINLINE(0x203C, 0x1008, 0x005C, 0x2078, 0x0948, 0x2050, 0x4E90);
  3881.  
  3882. EXTERN_API_C( OSErr )
  3883. OpenSpoolFile                    (gxJob                     theJob,
  3884.                                  FSSpecPtr                 fSpec,
  3885.                                  char                     ioPermssn,
  3886.                                  gxSpoolFile *            theSpoolFile,
  3887.                                  Boolean                 readFontDataBase)                    SEVENWORDINLINE(0x203C, 0x1008, 0x0060, 0x2078, 0x0948, 0x2050, 0x4E90);
  3888.  
  3889. EXTERN_API_C( OSErr )
  3890. CloseSpoolFile                    (gxSpoolFile             theSpoolFile,
  3891.                                  long                     closeOptions)                        SEVENWORDINLINE(0x203C, 0x1008, 0x0064, 0x2078, 0x0948, 0x2050, 0x4E90);
  3892.  
  3893. EXTERN_API_C( OSErr )
  3894. PrintJob                        (gxJob                     theJob,
  3895.                                  FSSpecPtr                 fSpec)                                SEVENWORDINLINE(0x203C, 0x1008, 0x0068, 0x2078, 0x0948, 0x2050, 0x4E90);
  3896.  
  3897. EXTERN_API_C( OSErr )
  3898. GetDriverList                    (TDriverListHdl *        driverList)                            SEVENWORDINLINE(0x203C, 0x1008, 0x006C, 0x2078, 0x0948, 0x2050, 0x4E90);
  3899.  
  3900. EXTERN_API_C( OSErr )
  3901. CallGXJobIdle                    (gxJob                     theJob)                                SEVENWORDINLINE(0x203C, 0x1008, 0x0070, 0x2078, 0x0948, 0x2050, 0x4E90);
  3902.  
  3903. EXTERN_API_C( OSErr )
  3904. WriteStatusToDTPWindow            (gxJob                     theJob,
  3905.                                  gxStatusRecord *        statusRec,
  3906.                                  gxDisplayRecord *        displayRec)                            SEVENWORDINLINE(0x203C, 0x1008, 0x0074, 0x2078, 0x0948, 0x2050, 0x4E90);
  3907.  
  3908. EXTERN_API_C( OSErr )
  3909. InitializeStatusAlert            (gxJob                     theJob,
  3910.                                  gxStatusRecord *        statusRec,
  3911.                                  DialogPtr *            theDialog)                            SEVENWORDINLINE(0x203C, 0x1008, 0x0078, 0x2078, 0x0948, 0x2050, 0x4E90);
  3912.  
  3913. EXTERN_API_C( OSErr )
  3914. HandleAlertStatus                (gxJob                     theJob,
  3915.                                  gxStatusRecord *        statusRec)                            SEVENWORDINLINE(0x203C, 0x1008, 0x007C, 0x2078, 0x0948, 0x2050, 0x4E90);
  3916.  
  3917. EXTERN_API_C( OSErr )
  3918. HandleAlertEvent                (gxJob                     theJob,
  3919.                                  gxStatusRecord *        statusRec,
  3920.                                  DialogPtr                 theDialog,
  3921.                                  EventRecord *            theEvent,
  3922.                                  short *                itemHit)                            SEVENWORDINLINE(0x203C, 0x1008, 0x0080, 0x2078, 0x0948, 0x2050, 0x4E90);
  3923.  
  3924. EXTERN_API_C( OSErr )
  3925. SwitchToBigClient                (gxJob                     theJob,
  3926.                                  BigClientHandle *        restoreHandle)                        SEVENWORDINLINE(0x203C, 0x1008, 0x0084, 0x2078, 0x0948, 0x2050, 0x4E90);
  3927.  
  3928. EXTERN_API_C( OSErr )
  3929. RestoreSmallClient                (gxJob                     theJob,
  3930.                                  BigClientHandle *        restoreHandle)                        SEVENWORDINLINE(0x203C, 0x1008, 0x0088, 0x2078, 0x0948, 0x2050, 0x4E90);
  3931.  
  3932. EXTERN_API_C( OSErr )
  3933. DoSpoolData                        (gxJob                     theJob,
  3934.                                  gxSpoolFile             theSpoolFile,
  3935.                                  Ptr                     dataPtr,
  3936.                                  long *                    byteCount)                            SEVENWORDINLINE(0x203C, 0x1008, 0x008C, 0x2078, 0x0948, 0x2050, 0x4E90);
  3937.  
  3938. EXTERN_API_C( OSErr )
  3939. DoDespoolData                    (gxJob                     theJob,
  3940.                                  gxSpoolFile             theSpoolFile,
  3941.                                  Ptr                     dataPtr,
  3942.                                  long *                    byteCount)                            SEVENWORDINLINE(0x203C, 0x1008, 0x0090, 0x2078, 0x0948, 0x2050, 0x4E90);
  3943.  
  3944. EXTERN_API_C( OSErr )
  3945. ReadPrefs                        (Collection             prefs)                                SEVENWORDINLINE(0x203C, 0x1008, 0x0094, 0x2078, 0x0948, 0x2050, 0x4E90);
  3946.  
  3947. EXTERN_API_C( OSErr )
  3948. WritePrefs                        (Collection             prefs)                                SEVENWORDINLINE(0x203C, 0x1008, 0x0098, 0x2078, 0x0948, 0x2050, 0x4E90);
  3949.  
  3950. EXTERN_API_C( OSErr )
  3951. GetSystemPrintingString            (long                     stringID,
  3952.                                  Str31                     theString)                            SEVENWORDINLINE(0x203C, 0x1008, 0x009C, 0x2078, 0x0948, 0x2050, 0x4E90);
  3953.  
  3954. EXTERN_API_C( OSErr )
  3955. SetSystemPrintingString            (long                     stringID,
  3956.                                  ConstStr31Param         theString)                            SEVENWORDINLINE(0x203C, 0x1008, 0x00A0, 0x2078, 0x0948, 0x2050, 0x4E90);
  3957.  
  3958. EXTERN_API_C( OSErr )
  3959. DoGXDisplayAboutBox                (long                     whichOne)                            SEVENWORDINLINE(0x203C, 0x1008, 0x00A4, 0x2078, 0x0948, 0x2050, 0x4E90);
  3960.  
  3961. EXTERN_API_C( OSErr )
  3962. DoGXGetDTPIconSuite                (gxJob                     theJob,
  3963.                                  OSType                 theType,
  3964.                                  Handle *                theIconSuite)                        SEVENWORDINLINE(0x203C, 0x1008, 0x00A8, 0x2078, 0x0948, 0x2050, 0x4E90);
  3965.  
  3966.  
  3967.  
  3968. /* Flattening Routines: 'pmgr' ID #9*/
  3969.  
  3970. EXTERN_API_C( OSErr )
  3971. DoGXFlattenJob                    (gxJob                     theJob,
  3972.                                  GXPrintingFlattenUPP     flattenProc,
  3973.                                  void *                    refCon)                                SEVENWORDINLINE(0x203C, 0x1009, 0x0004, 0x2078, 0x0948, 0x2050, 0x4E90);
  3974.  
  3975. EXTERN_API_C( OSErr )
  3976. DoGXUnflattenJob                (gxJob                     theJob,
  3977.                                  GXPrintingFlattenUPP     flattenProc,
  3978.                                  void *                    refCon)                                SEVENWORDINLINE(0x203C, 0x1009, 0x0008, 0x2078, 0x0948, 0x2050, 0x4E90);
  3979.  
  3980. EXTERN_API_C( OSErr )
  3981. DoGXFlattenJobToHdl                (gxJob                     theJob,
  3982.                                  Handle *                destHandle)                            SEVENWORDINLINE(0x203C, 0x1009, 0x000C, 0x2078, 0x0948, 0x2050, 0x4E90);
  3983.  
  3984. EXTERN_API_C( OSErr )
  3985. DoGXUnflattenJobFromHdl            (gxJob                     theJob,
  3986.                                  Handle                 srcHandle)                            SEVENWORDINLINE(0x203C, 0x1009, 0x0010, 0x2078, 0x0948, 0x2050, 0x4E90);
  3987.  
  3988. EXTERN_API_C( OSErr )
  3989. FlattenJobDataToHdl                (gxJob                     theJob,
  3990.                                  Handle *                destHandle)                            SEVENWORDINLINE(0x203C, 0x1009, 0x0014, 0x2078, 0x0948, 0x2050, 0x4E90);
  3991.  
  3992. EXTERN_API_C( OSErr )
  3993. UnflattenJobDataFromHdl            (gxJob                     theJob,
  3994.                                  Handle                 srcHandle)                            SEVENWORDINLINE(0x203C, 0x1009, 0x0018, 0x2078, 0x0948, 0x2050, 0x4E90);
  3995.  
  3996. EXTERN_API_C( OSErr )
  3997. FlattenFormat                    (gxFormat                 theFormat,
  3998.                                  GXPrintingFlattenUPP     flattenProc,
  3999.                                  void *                    refCon)                                SEVENWORDINLINE(0x203C, 0x1009, 0x001C, 0x2078, 0x0948, 0x2050, 0x4E90);
  4000.  
  4001. EXTERN_API_C( OSErr )
  4002. UnflattenFormat                    (gxFormat                 theFormat,
  4003.                                  GXPrintingFlattenUPP     flattenProc,
  4004.                                  void *                    refCon)                                SEVENWORDINLINE(0x203C, 0x1009, 0x0020, 0x2078, 0x0948, 0x2050, 0x4E90);
  4005.  
  4006. EXTERN_API_C( OSErr )
  4007. FlattenFormatToHdl                (gxFormat                 theFormat,
  4008.                                  Handle *                destHandle)                            SEVENWORDINLINE(0x203C, 0x1009, 0x0024, 0x2078, 0x0948, 0x2050, 0x4E90);
  4009.  
  4010. EXTERN_API_C( OSErr )
  4011. UnflattenFormatFromHdl            (gxFormat                 theFormat,
  4012.                                  Handle                 srcHandle)                            SEVENWORDINLINE(0x203C, 0x1009, 0x0028, 0x2078, 0x0948, 0x2050, 0x4E90);
  4013.  
  4014. EXTERN_API_C( OSErr )
  4015. FlattenPaperType                (gxPaperType             thePaperType,
  4016.                                  GXPrintingFlattenUPP     flattenProc,
  4017.                                  void *                    refCon)                                SEVENWORDINLINE(0x203C, 0x1009, 0x002C, 0x2078, 0x0948, 0x2050, 0x4E90);
  4018.  
  4019. EXTERN_API_C( OSErr )
  4020. UnflattenPaperType                (gxPaperType             thePaperType,
  4021.                                  GXPrintingFlattenUPP     flattenProc,
  4022.                                  void *                    refCon)                                SEVENWORDINLINE(0x203C, 0x1009, 0x0030, 0x2078, 0x0948, 0x2050, 0x4E90);
  4023.  
  4024. EXTERN_API_C( OSErr )
  4025. FlattenPaperTypeToHdl            (gxPaperType             thePaperType,
  4026.                                  Handle *                destHandle)                            SEVENWORDINLINE(0x203C, 0x1009, 0x0034, 0x2078, 0x0948, 0x2050, 0x4E90);
  4027.  
  4028. EXTERN_API_C( OSErr )
  4029. UnflattenPaperTypeFromHdl        (gxPaperType             thePaperType,
  4030.                                  Handle                 srcHandle)                            SEVENWORDINLINE(0x203C, 0x1009, 0x0038, 0x2078, 0x0948, 0x2050, 0x4E90);
  4031.  
  4032. EXTERN_API_C( OSErr )
  4033. FlattenPaperTypeToResource        (gxPaperType             thePaperType,
  4034.                                  Handle *                resHandle)                            SEVENWORDINLINE(0x203C, 0x1009, 0x003C, 0x2078, 0x0948, 0x2050, 0x4E90);
  4035.  
  4036. EXTERN_API_C( OSErr )
  4037. UnflattenPaperTypeFromResource    (gxPaperType             thePaperType,
  4038.                                  Handle                 resHandle)                            SEVENWORDINLINE(0x203C, 0x1009, 0x0040, 0x2078, 0x0948, 0x2050, 0x4E90);
  4039.  
  4040. EXTERN_API_C( OSErr )
  4041. FlattenPrinter                    (gxPrinter                 thePrinter,
  4042.                                  GXPrintingFlattenUPP     flattenProc,
  4043.                                  void *                    refCon)                                SEVENWORDINLINE(0x203C, 0x1009, 0x0044, 0x2078, 0x0948, 0x2050, 0x4E90);
  4044.  
  4045. EXTERN_API_C( OSErr )
  4046. UnflattenPrinter                (gxPrinter                 thePrinter,
  4047.                                  GXPrintingFlattenUPP     flattenProc,
  4048.                                  void *                    refCon)                                SEVENWORDINLINE(0x203C, 0x1009, 0x0048, 0x2078, 0x0948, 0x2050, 0x4E90);
  4049.  
  4050. EXTERN_API_C( OSErr )
  4051. FlattenObjectToHdl                (void *                    object,
  4052.                                  GXCoreObjectFlattenUPP  flattenProc,
  4053.                                  Handle *                destHandle)                            SEVENWORDINLINE(0x203C, 0x1009, 0x004C, 0x2078, 0x0948, 0x2050, 0x4E90);
  4054.  
  4055. EXTERN_API_C( OSErr )
  4056. UnflattenObjectFromHdl            (void *                    object,
  4057.                                  GXCoreObjectFlattenUPP  flattenProc,
  4058.                                  Handle                 srcHandle)                            SEVENWORDINLINE(0x203C, 0x1009, 0x0050, 0x2078, 0x0948, 0x2050, 0x4E90);
  4059.  
  4060.  
  4061. /* Old API Routines: 'pmgr' ID #10*/
  4062.  
  4063. EXTERN_API( TPPrPort )
  4064. PrOpenDoc_PrGlueEntry            (THPrint                 hPrint,
  4065.                                  TPPrPort                 pPrPort,
  4066.                                  Ptr                     ioBuffPtr)                            SEVENWORDINLINE(0x203C, 0x100A, 0x0004, 0x2078, 0x0948, 0x2050, 0x4E90);
  4067.  
  4068. EXTERN_API( void )
  4069. PrCloseDoc_PrGlueEntry            (TPPrPort                 pPrPort)                            SEVENWORDINLINE(0x203C, 0x100A, 0x0008, 0x2078, 0x0948, 0x2050, 0x4E90);
  4070.  
  4071. EXTERN_API( void )
  4072. PrOpenPage_PrGlueEntry            (TPPrPort                 pPrPort,
  4073.                                  TPRect                 pPageFrame)                            SEVENWORDINLINE(0x203C, 0x100A, 0x000C, 0x2078, 0x0948, 0x2050, 0x4E90);
  4074.  
  4075. EXTERN_API( void )
  4076. PrClosePage_PrGlueEntry            (TPPrPort                 pPrPort)                            SEVENWORDINLINE(0x203C, 0x100A, 0x0010, 0x2078, 0x0948, 0x2050, 0x4E90);
  4077.  
  4078. EXTERN_API( void )
  4079. PrintDefault_PrGlueEntry        (THPrint                 hPrint)                                SEVENWORDINLINE(0x203C, 0x100A, 0x0014, 0x2078, 0x0948, 0x2050, 0x4E90);
  4080.  
  4081. EXTERN_API( Boolean )
  4082. PrStlDialog_PrGlueEntry            (THPrint                 hPrint)                                SEVENWORDINLINE(0x203C, 0x100A, 0x0018, 0x2078, 0x0948, 0x2050, 0x4E90);
  4083.  
  4084. EXTERN_API( Boolean )
  4085. PrJobDialog_PrGlueEntry            (THPrint                 hPrint)                                SEVENWORDINLINE(0x203C, 0x100A, 0x001C, 0x2078, 0x0948, 0x2050, 0x4E90);
  4086.  
  4087. EXTERN_API( TPPrDlgRef )
  4088. PrStlInit_PrGlueEntry            (THPrint                 hPrint)                                SEVENWORDINLINE(0x203C, 0x100A, 0x0020, 0x2078, 0x0948, 0x2050, 0x4E90);
  4089.  
  4090. EXTERN_API( TPPrDlgRef )
  4091. PrJobInit_PrGlueEntry            (THPrint                 hPrint)                                SEVENWORDINLINE(0x203C, 0x100A, 0x0024, 0x2078, 0x0948, 0x2050, 0x4E90);
  4092.  
  4093. EXTERN_API( Boolean )
  4094. PrDlgMain_PrGlueEntry            (THPrint                 hPrint,
  4095.                                  PDlgInitUPP             pDlgInit)                            SEVENWORDINLINE(0x203C, 0x100A, 0x0028, 0x2078, 0x0948, 0x2050, 0x4E90);
  4096.  
  4097. EXTERN_API( Boolean )
  4098. PrValidate_PrGlueEntry            (THPrint                 hPrint)                                SEVENWORDINLINE(0x203C, 0x100A, 0x002C, 0x2078, 0x0948, 0x2050, 0x4E90);
  4099.  
  4100. EXTERN_API( void )
  4101. PrJobMerge_PrGlueEntry            (THPrint                 hPrintSrc,
  4102.                                  THPrint                 hPrintDst)                            SEVENWORDINLINE(0x203C, 0x100A, 0x0030, 0x2078, 0x0948, 0x2050, 0x4E90);
  4103.  
  4104. EXTERN_API( void )
  4105. PrPicFile_PrGlueEntry            (THPrint                 hPrint,
  4106.                                  TPPrPort                 pPrPort,
  4107.                                  Ptr                     pIOBuf,
  4108.                                  Ptr                     pDevBuf,
  4109.                                  TPPrStatus             prStatus)                            SEVENWORDINLINE(0x203C, 0x100A, 0x0034, 0x2078, 0x0948, 0x2050, 0x4E90);
  4110.  
  4111. EXTERN_API( void )
  4112. Hack_PrGlueEntry                (void)                                                        SEVENWORDINLINE(0x203C, 0x100A, 0x0038, 0x2078, 0x0948, 0x2050, 0x4E90);
  4113.  
  4114. EXTERN_API( void )
  4115. PrGeneral_PrGlueEntry            (Ptr                     pData)                                SEVENWORDINLINE(0x203C, 0x100A, 0x003C, 0x2078, 0x0948, 0x2050, 0x4E90);
  4116.  
  4117. EXTERN_API_C( OSErr )
  4118. OldAPIInit                        (gxGraphicsClient         client,
  4119.                                  gxJob *                pJob)                                SEVENWORDINLINE(0x203C, 0x100A, 0x0040, 0x2078, 0x0948, 0x2050, 0x4E90);
  4120.  
  4121. EXTERN_API_C( OSErr )
  4122. OldAPIExit                        (gxGraphicsClient *        client)                                SEVENWORDINLINE(0x203C, 0x100A, 0x0044, 0x2078, 0x0948, 0x2050, 0x4E90);
  4123.  
  4124. EXTERN_API_C( OSErr )
  4125. DoGXConvertPrintRecordTo        (THPrint                 hPrint)                                SEVENWORDINLINE(0x203C, 0x100A, 0x0048, 0x2078, 0x0948, 0x2050, 0x4E90);
  4126.  
  4127. EXTERN_API_C( OSErr )
  4128. DoGXConvertPrintRecordFrom        (THPrint                 hPrint)                                SEVENWORDINLINE(0x203C, 0x100A, 0x004C, 0x2078, 0x0948, 0x2050, 0x4E90);
  4129.  
  4130. EXTERN_API_C( OSErr )
  4131. DoGXPrintRecordToJob            (THPrint                 hPrint,
  4132.                                  gxJob                     destJob)                            SEVENWORDINLINE(0x203C, 0x100A, 0x0050, 0x2078, 0x0948, 0x2050, 0x4E90);
  4133.  
  4134. EXTERN_API_C( OSErr )
  4135. GetCompatibilityFlags            (TCompatibilityFlags *    compatFlags)                        SEVENWORDINLINE(0x203C, 0x100A, 0x0054, 0x2078, 0x0948, 0x2050, 0x4E90);
  4136.  
  4137. EXTERN_API_C( OSErr )
  4138. OldAPIGlueEntry                    (void)                                                        SEVENWORDINLINE(0x203C, 0x100A, 0x0058, 0x2078, 0x0948, 0x2050, 0x4E90);
  4139.  
  4140. EXTERN_API_C( OSErr )
  4141. OldAPIGlueExit                    (void)                                                        SEVENWORDINLINE(0x203C, 0x100A, 0x005C, 0x2078, 0x0948, 0x2050, 0x4E90);
  4142.  
  4143. EXTERN_API_C( OSErr )
  4144. GetOldAPIA5                        (long *                    a5)                                    SEVENWORDINLINE(0x203C, 0x100A, 0x0060, 0x2078, 0x0948, 0x2050, 0x4E90);
  4145.  
  4146.  
  4147. /*
  4148.    List Handler Routines: 'tckl' ID #0
  4149.    currently empty.
  4150. */
  4151.  
  4152. /* File Handler Routines: 'tckl' ID #1*/
  4153.  
  4154. EXTERN_API_C( OSErr )
  4155. FHNewFileReference                (TFile *                fileRef)                            SEVENWORDINLINE(0x203C, 0x2001, 0x0004, 0x2078, 0x0948, 0x2050, 0x4E90);
  4156.  
  4157. EXTERN_API_C( OSErr )
  4158. FHDisposeFileReference            (TFile                     fileRef)                            SEVENWORDINLINE(0x203C, 0x2001, 0x0008, 0x2078, 0x0948, 0x2050, 0x4E90);
  4159.  
  4160. EXTERN_API_C( OSErr )
  4161. FHGetBufferSize                    (TFile                     fileRef,
  4162.                                  long *                    pBufferSize)                        SEVENWORDINLINE(0x203C, 0x2001, 0x000C, 0x2078, 0x0948, 0x2050, 0x4E90);
  4163.  
  4164. EXTERN_API_C( OSErr )
  4165. FHSetBufferSize                    (TFile                     fileRef,
  4166.                                  long                     bufferSize)                            SEVENWORDINLINE(0x203C, 0x2001, 0x0010, 0x2078, 0x0948, 0x2050, 0x4E90);
  4167.  
  4168. EXTERN_API_C( OSErr )
  4169. FHGetFileRefCon                    (TFile                     fileRef,
  4170.                                  void **                pRefCon)                            SEVENWORDINLINE(0x203C, 0x2001, 0x0014, 0x2078, 0x0948, 0x2050, 0x4E90);
  4171.  
  4172. EXTERN_API_C( OSErr )
  4173. FHSetFileRefCon                    (TFile                     fileRef,
  4174.                                  void *                    refCon)                                SEVENWORDINLINE(0x203C, 0x2001, 0x0018, 0x2078, 0x0948, 0x2050, 0x4E90);
  4175.  
  4176. EXTERN_API_C( OSErr )
  4177. FHGetFileData                    (TFile                     fileRef,
  4178.                                  FHFileDataPtr             pFileData)                            SEVENWORDINLINE(0x203C, 0x2001, 0x001C, 0x2078, 0x0948, 0x2050, 0x4E90);
  4179.  
  4180. EXTERN_API_C( OSErr )
  4181. FHCreateFile                    (TFile                     fileRef,
  4182.                                  FSSpecPtr                 pFileSpec,
  4183.                                  Boolean                 uniqueName)                            SEVENWORDINLINE(0x203C, 0x2001, 0x0020, 0x2078, 0x0948, 0x2050, 0x4E90);
  4184.  
  4185. EXTERN_API_C( OSErr )
  4186. FHOpenFile                        (TFile                     fileRef,
  4187.                                  FSSpecPtr                 pFileSpec,
  4188.                                  char                     ioPermssn)                            SEVENWORDINLINE(0x203C, 0x2001, 0x0024, 0x2078, 0x0948, 0x2050, 0x4E90);
  4189.  
  4190. EXTERN_API_C( OSErr )
  4191. FHCloseFile                        (TFile                     fileRef,
  4192.                                  Boolean                 doFlush)                            SEVENWORDINLINE(0x203C, 0x2001, 0x0028, 0x2078, 0x0948, 0x2050, 0x4E90);
  4193.  
  4194. EXTERN_API_C( OSErr )
  4195. FHDeleteFile                    (TFile                     fileRef)                            SEVENWORDINLINE(0x203C, 0x2001, 0x002C, 0x2078, 0x0948, 0x2050, 0x4E90);
  4196.  
  4197. EXTERN_API_C( OSErr )
  4198. FHGetFilePos                    (TFile                     fileRef,
  4199.                                  long *                    pFilePos)                            SEVENWORDINLINE(0x203C, 0x2001, 0x0030, 0x2078, 0x0948, 0x2050, 0x4E90);
  4200.  
  4201. EXTERN_API_C( OSErr )
  4202. FHSetFilePos                    (TFile                     fileRef,
  4203.                                  short                     posMode,
  4204.                                  long                     fileOffset)                            SEVENWORDINLINE(0x203C, 0x2001, 0x0034, 0x2078, 0x0948, 0x2050, 0x4E90);
  4205.  
  4206. EXTERN_API_C( OSErr )
  4207. FHGetEOF                        (TFile                     fileRef,
  4208.                                  long *                    pEOF)                                SEVENWORDINLINE(0x203C, 0x2001, 0x0038, 0x2078, 0x0948, 0x2050, 0x4E90);
  4209.  
  4210. EXTERN_API_C( OSErr )
  4211. FHSetEOF                        (TFile                     fileRef,
  4212.                                  long                     newEOF)                                SEVENWORDINLINE(0x203C, 0x2001, 0x003C, 0x2078, 0x0948, 0x2050, 0x4E90);
  4213.  
  4214. EXTERN_API_C( OSErr )
  4215. FHRead                            (TFile                     fileRef,
  4216.                                  void *                    pBuffer,
  4217.                                  long *                    pLength)                            SEVENWORDINLINE(0x203C, 0x2001, 0x0040, 0x2078, 0x0948, 0x2050, 0x4E90);
  4218.  
  4219. EXTERN_API_C( OSErr )
  4220. FHWrite                            (TFile                     fileRef,
  4221.                                  void *                    pBuffer,
  4222.                                  long *                    pLength)                            SEVENWORDINLINE(0x203C, 0x2001, 0x0044, 0x2078, 0x0948, 0x2050, 0x4E90);
  4223.  
  4224. EXTERN_API_C( OSErr )
  4225. FHGetFinderTypes                (TFile                     fileRef,
  4226.                                  OSType *                pCreatorType,
  4227.                                  OSType *                pFileType)                            SEVENWORDINLINE(0x203C, 0x2001, 0x0048, 0x2078, 0x0948, 0x2050, 0x4E90);
  4228.  
  4229. EXTERN_API_C( OSErr )
  4230. FHSetFinderTypes                (TFile                     fileRef,
  4231.                                  OSType                 creatorType,
  4232.                                  OSType                 fileType)                            SEVENWORDINLINE(0x203C, 0x2001, 0x004C, 0x2078, 0x0948, 0x2050, 0x4E90);
  4233.  
  4234. EXTERN_API_C( OSErr )
  4235. FHAddResource                    (TFile                     fileRef,
  4236.                                  Handle                 theResource,
  4237.                                  ResType                 theType,
  4238.                                  short                     theID)                                SEVENWORDINLINE(0x203C, 0x2001, 0x0050, 0x2078, 0x0948, 0x2050, 0x4E90);
  4239.  
  4240. EXTERN_API_C( OSErr )
  4241. FHGetResource                    (TFile                     fileRef,
  4242.                                  ResType                 theType,
  4243.                                  short                     theID,
  4244.                                  Handle *                pTheResource)                        SEVENWORDINLINE(0x203C, 0x2001, 0x0054, 0x2078, 0x0948, 0x2050, 0x4E90);
  4245.  
  4246. EXTERN_API_C( OSErr )
  4247. FHChangedResource                (TFile                     fileRef,
  4248.                                  Handle                 theResource)                        SEVENWORDINLINE(0x203C, 0x2001, 0x0058, 0x2078, 0x0948, 0x2050, 0x4E90);
  4249.  
  4250. EXTERN_API_C( OSErr )
  4251. FHReleaseResource                (TFile                     fileRef,
  4252.                                  Handle                 theResource)                        SEVENWORDINLINE(0x203C, 0x2001, 0x005C, 0x2078, 0x0948, 0x2050, 0x4E90);
  4253.  
  4254. EXTERN_API_C( OSErr )
  4255. FHDetachResource                (TFile                     fileRef,
  4256.                                  Handle                 theResource)                        SEVENWORDINLINE(0x203C, 0x2001, 0x0060, 0x2078, 0x0948, 0x2050, 0x4E90);
  4257.  
  4258. EXTERN_API_C( OSErr )
  4259. FHRemoveResource                (TFile                     fileRef,
  4260.                                  Handle                 theResource)                        SEVENWORDINLINE(0x203C, 0x2001, 0x0064, 0x2078, 0x0948, 0x2050, 0x4E90);
  4261.  
  4262. EXTERN_API_C( OSErr )
  4263. FHCopyResources                    (TFile                     sourceFileRef,
  4264.                                  TFile                     destinationFileRef)                    SEVENWORDINLINE(0x203C, 0x2001, 0x0068, 0x2078, 0x0948, 0x2050, 0x4E90);
  4265.  
  4266. EXTERN_API_C( OSErr )
  4267. FHMakeAlias                        (TFile                     target,
  4268.                                  FSSpecPtr                 pAliasSpec,
  4269.                                  Boolean                 uniqueName)                            SEVENWORDINLINE(0x203C, 0x2001, 0x006C, 0x2078, 0x0948, 0x2050, 0x4E90);
  4270.  
  4271. EXTERN_API_C( OSErr )
  4272. FHOpenAlias                        (TFile                     fileRef,
  4273.                                  char                     ioPermssn)                            SEVENWORDINLINE(0x203C, 0x2001, 0x0070, 0x2078, 0x0948, 0x2050, 0x4E90);
  4274.  
  4275. EXTERN_API_C( OSErr )
  4276. FHFlushToDisk                    (TFile                     fileRef)                            SEVENWORDINLINE(0x203C, 0x2001, 0x0074, 0x2078, 0x0948, 0x2050, 0x4E90);
  4277.  
  4278.  
  4279. /* Spooling Handler Routines: 'tckl' ID #2*/
  4280.  
  4281. EXTERN_API_C( OSErr )
  4282. SHCreateSpoolFile                (FSSpecPtr                 pFileSpec,
  4283.                                  gxJob                     theJob,
  4284.                                  SHFlags                 theOptions,
  4285.                                  gxSpoolFile *            pFileRef)                            SEVENWORDINLINE(0x203C, 0x2002, 0x0004, 0x2078, 0x0948, 0x2050, 0x4E90);
  4286.  
  4287. EXTERN_API_C( OSErr )
  4288. SHDespoolJob                    (FSSpecPtr                 pFileSpec,
  4289.                                  gxJob                     theJob)                                SEVENWORDINLINE(0x203C, 0x2002, 0x0008, 0x2078, 0x0948, 0x2050, 0x4E90);
  4290.  
  4291. EXTERN_API_C( OSErr )
  4292. SHOpenSpoolFile                    (FSSpecPtr                 pFileSpec,
  4293.                                  char                     ioPermssn,
  4294.                                  Boolean                 useMessaging,
  4295.                                  gxJob                     theJob,
  4296.                                  SHFlags                 theOptions,
  4297.                                  gxSpoolFile *            pFileRef)                            SEVENWORDINLINE(0x203C, 0x2002, 0x000C, 0x2078, 0x0948, 0x2050, 0x4E90);
  4298.  
  4299. EXTERN_API_C( OSErr )
  4300. SHCloseSpoolFile                (gxSpoolFile             fileRef,
  4301.                                  SHFlags                 theOptions,
  4302.                                  Boolean                 useMessaging)                        SEVENWORDINLINE(0x203C, 0x2002, 0x0010, 0x2078, 0x0948, 0x2050, 0x4E90);
  4303.  
  4304. EXTERN_API_C( OSErr )
  4305. SHDeleteSpoolFile                (gxSpoolFile             fileRef)                            SEVENWORDINLINE(0x203C, 0x2002, 0x0014, 0x2078, 0x0948, 0x2050, 0x4E90);
  4306.  
  4307. EXTERN_API_C( OSErr )
  4308. SHResurrectSpoolFile            (FSSpecPtr                 pFileSpec)                            SEVENWORDINLINE(0x203C, 0x2002, 0x0018, 0x2078, 0x0948, 0x2050, 0x4E90);
  4309.  
  4310. EXTERN_API_C( OSErr )
  4311. SHSpoolPage                        (gxSpoolFile             fileRef,
  4312.                                  Boolean                 useMessaging,
  4313.                                  gxFormat                 theFormat,
  4314.                                  gxShape                 thePage)                            SEVENWORDINLINE(0x203C, 0x2002, 0x001C, 0x2078, 0x0948, 0x2050, 0x4E90);
  4315.  
  4316. EXTERN_API_C( OSErr )
  4317. SHDespoolPage                    (gxSpoolFile             fileRef,
  4318.                                  long                     pageNum,
  4319.                                  long                     viewPortListCount,
  4320.                                  gxViewPort *            viewPortList,
  4321.                                  Boolean                 useMessaging,
  4322.                                  gxFormat                 theFormat,
  4323.                                  gxShape *                pThePage,
  4324.                                  Boolean *                formatChanged)                        SEVENWORDINLINE(0x203C, 0x2002, 0x0020, 0x2078, 0x0948, 0x2050, 0x4E90);
  4325.  
  4326. EXTERN_API_C( OSErr )
  4327. SHGetJob                        (gxSpoolFile             fileRef,
  4328.                                  gxJob *                pJob)                                SEVENWORDINLINE(0x203C, 0x2002, 0x0024, 0x2078, 0x0948, 0x2050, 0x4E90);
  4329.  
  4330. EXTERN_API_C( OSErr )
  4331. SHCountPages                    (gxSpoolFile             fileRef,
  4332.                                  long *                    pNumPages)                            SEVENWORDINLINE(0x203C, 0x2002, 0x0028, 0x2078, 0x0948, 0x2050, 0x4E90);
  4333.  
  4334. EXTERN_API_C( OSErr )
  4335. SHGetSpoolFileRefCon            (gxSpoolFile             fileRef,
  4336.                                  void **                pRefCon)                            SEVENWORDINLINE(0x203C, 0x2002, 0x002C, 0x2078, 0x0948, 0x2050, 0x4E90);
  4337.  
  4338. EXTERN_API_C( OSErr )
  4339. SHSetSpoolFileRefCon            (gxSpoolFile             fileRef,
  4340.                                  void *                    refCon)                                SEVENWORDINLINE(0x203C, 0x2002, 0x0030, 0x2078, 0x0948, 0x2050, 0x4E90);
  4341.  
  4342. EXTERN_API_C( OSErr )
  4343. SHGetFormatDirectory            (gxSpoolFile             fileRef,
  4344.                                  SpoolFileFormatDirHdl * pFormatDirHdl)                        SEVENWORDINLINE(0x203C, 0x2002, 0x0034, 0x2078, 0x0948, 0x2050, 0x4E90);
  4345.  
  4346. EXTERN_API_C( OSErr )
  4347. SHGetPageDirectory                (gxSpoolFile             fileRef,
  4348.                                  SpoolFilePageDirHdl *    pPageDirHdl)                        SEVENWORDINLINE(0x203C, 0x2002, 0x0038, 0x2078, 0x0948, 0x2050, 0x4E90);
  4349.  
  4350. EXTERN_API_C( OSErr )
  4351. SHGetFontDbase                    (gxSpoolFile             fileRef,
  4352.                                  TFontDbase *            fontDbase,
  4353.                                  Boolean *                use8BitMacEncoding)                    SEVENWORDINLINE(0x203C, 0x2002, 0x003C, 0x2078, 0x0948, 0x2050, 0x4E90);
  4354.  
  4355. EXTERN_API_C( OSErr )
  4356. SHGetPictCollection                (gxSpoolFile             fileRef,
  4357.                                  Collection *            pPictCollection)                    SEVENWORDINLINE(0x203C, 0x2002, 0x0040, 0x2078, 0x0948, 0x2050, 0x4E90);
  4358.  
  4359. EXTERN_API_C( OSErr )
  4360. SHEncodeQDOffset                (gxSpoolFile             fileRef,
  4361.                                  long                     pageIndex,
  4362.                                  long *                    pFileOffset)                        SEVENWORDINLINE(0x203C, 0x2002, 0x0044, 0x2078, 0x0948, 0x2050, 0x4E90);
  4363.  
  4364. EXTERN_API_C( OSErr )
  4365. SHDecodeQDOffset                (gxSpoolFile             fileRef,
  4366.                                  long                     pageIndex,
  4367.                                  long *                    pFileOffset)                        SEVENWORDINLINE(0x203C, 0x2002, 0x0048, 0x2078, 0x0948, 0x2050, 0x4E90);
  4368.  
  4369.  
  4370. /* Buffer Handler Routines: 'tckl' ID #3*/
  4371.  
  4372. EXTERN_API_C( OSErr )
  4373. GBAllocateBuffers                (short *                nBuffers,
  4374.                                  long                     bufferSize,
  4375.                                  TGBMap *                buffMap)                            SEVENWORDINLINE(0x203C, 0x2003, 0x0004, 0x2078, 0x0948, 0x2050, 0x4E90);
  4376.  
  4377. EXTERN_API_C( OSErr )
  4378. GBDeAllocateBuffers                (TGBMap                 buffMap)                            SEVENWORDINLINE(0x203C, 0x2003, 0x0008, 0x2078, 0x0948, 0x2050, 0x4E90);
  4379.  
  4380. EXTERN_API_C( OSErr )
  4381. GBBufferData                    (Ptr                     data,
  4382.                                  long                     size,
  4383.                                  TGBMap                 buffMap,
  4384.                                  long                     bufferOptions)                        SEVENWORDINLINE(0x203C, 0x2003, 0x000C, 0x2078, 0x0948, 0x2050, 0x4E90);
  4385.  
  4386. EXTERN_API_C( OSErr )
  4387. GBFlushCurrBuffer                (TGBMap                 buffMap)                            SEVENWORDINLINE(0x203C, 0x2003, 0x0010, 0x2078, 0x0948, 0x2050, 0x4E90);
  4388.  
  4389. EXTERN_API_C( OSErr )
  4390. GBWaitForIO                        (TGBMap                 buffMap)                            SEVENWORDINLINE(0x203C, 0x2003, 0x0014, 0x2078, 0x0948, 0x2050, 0x4E90);
  4391.  
  4392.  
  4393. /* Currently unused:         'tckl' ID #4*/
  4394.  
  4395. /* Shape Utilities Routines: 'tckl' ID #5*/
  4396.  
  4397. EXTERN_API_C( OSErr )
  4398. ShUDissectGlyphs                (gxShape                 theShape,
  4399.                                  Boolean                 splitByStyle)                        SEVENWORDINLINE(0x203C, 0x2005, 0x0004, 0x2078, 0x0948, 0x2050, 0x4E90);
  4400.  
  4401. typedef CALLBACK_API_C( OSErr , gxCountFunct )(gxShape aShape, long contour, long *numPoints);
  4402. typedef STACK_UPP_TYPE(gxCountFunct)                             gxCountFunctUPP;
  4403. enum { uppgxCountFunctProcInfo = 0x00000FE1 };                     /* 2_bytes Func(4_bytes, 4_bytes, 4_bytes) */
  4404. #define NewgxCountFunctProc(userRoutine)                         (gxCountFunctUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppgxCountFunctProcInfo, GetCurrentArchitecture())
  4405. #define CallgxCountFunctProc(userRoutine, aShape, contour, numPoints)  CALL_THREE_PARAMETER_UPP((userRoutine), uppgxCountFunctProcInfo, (aShape), (contour), (numPoints))
  4406. EXTERN_API_C( OSErr )
  4407. ShUDissectPath                    (gxShape                 theShape,
  4408.                                  long                     limit,
  4409.                                  Boolean                 splitH,
  4410.                                  gxCountFunct             aFunct)                                SEVENWORDINLINE(0x203C, 0x2005, 0x0008, 0x2078, 0x0948, 0x2050, 0x4E90);
  4411.  
  4412.  
  4413. /* UnivDialog Handler Routines: 'tckl' ID #6*/
  4414.  
  4415. EXTERN_API_C( OSErr )
  4416. UnivDlgSetUp                    (short                     dlogID,
  4417.                                  short                     dctlID,
  4418.                                  short                     nestindx,
  4419.                                  THPrint                 printHdl,
  4420.                                  TPPrDlg *                dlg)                                SEVENWORDINLINE(0x203C, 0x2006, 0x0004, 0x2078, 0x0948, 0x2050, 0x4E90);
  4421.  
  4422. EXTERN_API_C( OSErr )
  4423. UnivDlgAddPapr2SizeList            (Handle *                sizeListHdl,
  4424.                                  short *                count)                                SEVENWORDINLINE(0x203C, 0x2006, 0x0008, 0x2078, 0x0948, 0x2050, 0x4E90);
  4425.  
  4426. EXTERN_API_C( OSErr )
  4427. UnivDlgMatchPaprSize            (THPrint                 univPrintHdl,
  4428.                                  Handle                 sizeListHdl,
  4429.                                  short *                index)                                SEVENWORDINLINE(0x203C, 0x2006, 0x000C, 0x2078, 0x0948, 0x2050, 0x4E90);
  4430.  
  4431. EXTERN_API_C( OSErr )
  4432. UnivDlgSetPaprSize                (THPrint                 univPrintHdl,
  4433.                                  Handle                 sizeListHdl,
  4434.                                  short                     paprIndx)                            SEVENWORDINLINE(0x203C, 0x2006, 0x0010, 0x2078, 0x0948, 0x2050, 0x4E90);
  4435.  
  4436. EXTERN_API_C( OSErr )
  4437. UnivUDisposUnivMem                (DialogPtr                 dPtr)                                SEVENWORDINLINE(0x203C, 0x2006, 0x0014, 0x2078, 0x0948, 0x2050, 0x4E90);
  4438.  
  4439. EXTERN_API_C( OSErr )
  4440. UnivDlgFlushPapr2SizeListCache    (void)                                                        SEVENWORDINLINE(0x203C, 0x2006, 0x0018, 0x2078, 0x0948, 0x2050, 0x4E90);
  4441.  
  4442.  
  4443. /* Configfile Handler Routines: 'tckl' ID #7*/
  4444.  
  4445. EXTERN_API_C( OSErr )
  4446. DCCreateDTP                        (Str31                     DTPName)                            SEVENWORDINLINE(0x203C, 0x2007, 0x0004, 0x2078, 0x0948, 0x2050, 0x4E90);
  4447.  
  4448. EXTERN_API_C( OSErr )
  4449. DCDeleteDTP                        (Str31                     DTPName)                            SEVENWORDINLINE(0x203C, 0x2007, 0x0008, 0x2078, 0x0948, 0x2050, 0x4E90);
  4450.  
  4451. EXTERN_API_C( OSErr )
  4452. DCGetDTPs                        (DTPUPP                 clientProc,
  4453.                                  void *                    refCon,
  4454.                                  short *                numDTPs)                            SEVENWORDINLINE(0x203C, 0x2007, 0x000C, 0x2078, 0x0948, 0x2050, 0x4E90);
  4455.  
  4456. EXTERN_API_C( OSErr )
  4457. DCIsDesktopPrinter                (Str31                     DTPName,
  4458.                                  Boolean *                yupNope)                            SEVENWORDINLINE(0x203C, 0x2007, 0x0010, 0x2078, 0x0948, 0x2050, 0x4E90);
  4459.  
  4460. EXTERN_API_C( OSErr )
  4461. DCReadRes                        (Str31                     DTPName,
  4462.                                  ResType                 theType,
  4463.                                  short                     theID,
  4464.                                  Handle *                theData)                            SEVENWORDINLINE(0x203C, 0x2007, 0x0014, 0x2078, 0x0948, 0x2050, 0x4E90);
  4465.  
  4466. EXTERN_API_C( OSErr )
  4467. DCReadIndRes                    (Str31                     DTPName,
  4468.                                  ResType                 theType,
  4469.                                  short                     theIndex,
  4470.                                  Handle *                theData)                            SEVENWORDINLINE(0x203C, 0x2007, 0x0018, 0x2078, 0x0948, 0x2050, 0x4E90);
  4471.  
  4472. EXTERN_API_C( OSErr )
  4473. DCWriteRes                        (Str31                     DTPName,
  4474.                                  ResType                 theType,
  4475.                                  short                     theID,
  4476.                                  Handle                 theData)                            SEVENWORDINLINE(0x203C, 0x2007, 0x001C, 0x2078, 0x0948, 0x2050, 0x4E90);
  4477.  
  4478. EXTERN_API_C( OSErr )
  4479. DCRemoveRes                        (Str31                     DTPName,
  4480.                                  ResType                 theType,
  4481.                                  short                     theID)                                SEVENWORDINLINE(0x203C, 0x2007, 0x0020, 0x2078, 0x0948, 0x2050, 0x4E90);
  4482.  
  4483. EXTERN_API_C( OSErr )
  4484. DCCheckResExist                    (Str31                     DTPName,
  4485.                                  ResType                 theType,
  4486.                                  short                     theID,
  4487.                                  Boolean *                resExists)                            SEVENWORDINLINE(0x203C, 0x2007, 0x0024, 0x2078, 0x0948, 0x2050, 0x4E90);
  4488.  
  4489. EXTERN_API_C( OSErr )
  4490. DCOpenResFile                    (Str31                     DTPName,
  4491.                                  char                     permission,
  4492.                                  short *                refNum)                                SEVENWORDINLINE(0x203C, 0x2007, 0x0028, 0x2078, 0x0948, 0x2050, 0x4E90);
  4493.  
  4494. EXTERN_API_C( OSErr )
  4495. DCGetModificationDate            (Str31                     DTPName,
  4496.                                  long *                    theDate)                            SEVENWORDINLINE(0x203C, 0x2007, 0x002C, 0x2078, 0x0948, 0x2050, 0x4E90);
  4497.  
  4498. EXTERN_API_C( OSErr )
  4499. DCSetTrayPaperType                (Str31                     printerName,
  4500.                                  gxTrayIndex             trayNumber,
  4501.                                  gxPaperType             thePaperType)                        SEVENWORDINLINE(0x203C, 0x2007, 0x0030, 0x2078, 0x0948, 0x2050, 0x4E90);
  4502.  
  4503. EXTERN_API_C( OSErr )
  4504. DCGetTrayPaperType                (Str31                     printerName,
  4505.                                  gxTrayIndex             trayNumber,
  4506.                                  gxPaperType             thePaperType)                        SEVENWORDINLINE(0x203C, 0x2007, 0x0034, 0x2078, 0x0948, 0x2050, 0x4E90);
  4507.  
  4508. EXTERN_API_C( OSErr )
  4509. DCIsDefaultTrayMappingSet        (Str31                     printerName,
  4510.                                  Boolean *                isItSet)                            SEVENWORDINLINE(0x203C, 0x2007, 0x0038, 0x2078, 0x0948, 0x2050, 0x4E90);
  4511.  
  4512. EXTERN_API_C( OSErr )
  4513. DCRemoveTrayResources            (Str31                     printerName)                        SEVENWORDINLINE(0x203C, 0x2007, 0x003C, 0x2078, 0x0948, 0x2050, 0x4E90);
  4514.  
  4515. EXTERN_API_C( OSErr )
  4516. DCGetDTPFileID                    (Str31                     printerName,
  4517.                                  long *                    pFileID)                            SEVENWORDINLINE(0x203C, 0x2007, 0x0040, 0x2078, 0x0948, 0x2050, 0x4E90);
  4518.  
  4519. EXTERN_API_C( OSErr )
  4520. DCCleanup                        (void)                                                        SEVENWORDINLINE(0x203C, 0x2007, 0x0044, 0x2078, 0x0948, 0x2050, 0x4E90);
  4521.  
  4522.  
  4523. /* Status Handler Routines: 'tckl' ID #8*/
  4524.  
  4525. EXTERN_API_C( OSErr )
  4526. PrInitStatus                    (void)                                                        SEVENWORDINLINE(0x203C, 0x2008, 0x0004, 0x2078, 0x0948, 0x2050, 0x4E90);
  4527.  
  4528. EXTERN_API_C( OSErr )
  4529. PrCleanupStatus                    (void)                                                        SEVENWORDINLINE(0x203C, 0x2008, 0x0008, 0x2078, 0x0948, 0x2050, 0x4E90);
  4530.  
  4531. EXTERN_API_C( OSErr )
  4532. PrCallModalStatus                (StatusRecordPtr         statPtr)                            SEVENWORDINLINE(0x203C, 0x2008, 0x000C, 0x2078, 0x0948, 0x2050, 0x4E90);
  4533.  
  4534. EXTERN_API_C( OSErr )
  4535. PrCallMoveableStatus            (StatusRecordPtr         statPtr)                            SEVENWORDINLINE(0x203C, 0x2008, 0x0010, 0x2078, 0x0948, 0x2050, 0x4E90);
  4536.  
  4537. EXTERN_API_C( OSErr )
  4538. ReportJobStatus                    (StatusRecordPtr         statPtr)                            SEVENWORDINLINE(0x203C, 0x2008, 0x0014, 0x2078, 0x0948, 0x2050, 0x4E90);
  4539.  
  4540. EXTERN_API_C( OSErr )
  4541. WriteToDTPWindow                (StatusRecordPtr         statPtr,
  4542.                                  gxDisplayRecord *        pDisplay)                            SEVENWORDINLINE(0x203C, 0x2008, 0x0018, 0x2078, 0x0948, 0x2050, 0x4E90);
  4543.  
  4544. EXTERN_API_C( OSErr )
  4545. DoAlertStatus                    (StatusRecordPtr         statPtr)                            SEVENWORDINLINE(0x203C, 0x2008, 0x001C, 0x2078, 0x0948, 0x2050, 0x4E90);
  4546.  
  4547.  
  4548. /* Printing Alert Routines: 'tckl' ID #9*/
  4549.  
  4550.  
  4551. EXTERN_API_C( OSErr )
  4552. WayCoolAlert                    (short                     iconId,
  4553.                                  short                     txtSize,
  4554.                                  short                     defaultTitleNum,
  4555.                                  short                     cancelTitleNum,
  4556.                                  short                     textLength,
  4557.                                  Ptr                     pAlertMsg,
  4558.                                  StringPtr                 actionTitle,
  4559.                                  StringPtr                 title2,
  4560.                                  StringPtr                 title3,
  4561.                                  StringPtr                 msgFont,
  4562.                                  ModalFilterProcPtr     filterProc,
  4563.                                  short *                itemHit,
  4564.                                  StringPtr                 alertTitle)                            SEVENWORDINLINE(0x203C, 0x2009, 0x0004, 0x2078, 0x0948, 0x2050, 0x4E90);
  4565.  
  4566.  
  4567.  
  4568. EXTERN_API_C( OSErr )
  4569. GetWayCoolAlert                    (short                     coolResId,
  4570.                                  ModalFilterProcPtr     filterProc,
  4571.                                  short *                itemHit)                            SEVENWORDINLINE(0x203C, 0x2009, 0x0008, 0x2078, 0x0948, 0x2050, 0x4E90);
  4572.  
  4573. EXTERN_API_C( OSErr )
  4574. SetupCoolAlert                    (TCoolHandle             hCool,
  4575.                                  DialogPtr *            pCoolAlert,
  4576.                                  TButtonRecord *        buttonRecord)                        SEVENWORDINLINE(0x203C, 0x2009, 0x000C, 0x2078, 0x0948, 0x2050, 0x4E90);
  4577.  
  4578. EXTERN_API_C( OSErr )
  4579. WayCoolDefaultAlert                (short                     iconId,
  4580.                                  short                     txtSize,
  4581.                                  short                     defaultTitleNum,
  4582.                                  short                     cancelTitleNum,
  4583.                                  short                     textLength,
  4584.                                  Ptr                     pAlertMsg,
  4585.                                  StringPtr                 actionTitle,
  4586.                                  StringPtr                 title2,
  4587.                                  StringPtr                 title3,
  4588.                                  StringPtr                 msgFont,
  4589.                                  ModalFilterProcPtr     filterProc,
  4590.                                  short *                itemHit)                            SEVENWORDINLINE(0x203C, 0x2009, 0x0010, 0x2078, 0x0948, 0x2050, 0x4E90);
  4591.  
  4592.  
  4593. /* Dialog Handler Setup Routines: 'tckl' ID #10*/
  4594.  
  4595. EXTERN_API_C( OSErr )
  4596. DlgInit                            (void)                                                        SEVENWORDINLINE(0x203C, 0x200A, 0x0004, 0x2078, 0x0948, 0x2050, 0x4E90);
  4597.  
  4598. EXTERN_API_C( OSErr )
  4599. DlgCleanUp                        (void)                                                        SEVENWORDINLINE(0x203C, 0x200A, 0x0008, 0x2078, 0x0948, 0x2050, 0x4E90);
  4600.  
  4601. EXTERN_API_C( OSErr )
  4602. DlgDisableScaling                (void)                                                        SEVENWORDINLINE(0x203C, 0x200A, 0x000C, 0x2078, 0x0948, 0x2050, 0x4E90);
  4603.  
  4604. EXTERN_API_C( OSErr )
  4605. DlgEnableScaling                (void)                                                        SEVENWORDINLINE(0x203C, 0x200A, 0x0010, 0x2078, 0x0948, 0x2050, 0x4E90);
  4606.  
  4607. EXTERN_API_C( OSErr )
  4608. DlgSetEditMenuRecord            (gxEditMenuRecord *        editMenuRec)                        SEVENWORDINLINE(0x203C, 0x200A, 0x0014, 0x2078, 0x0948, 0x2050, 0x4E90);
  4609.  
  4610. EXTERN_API_C( OSErr )
  4611. DlgSetupPanel                    (PanelSetupPtr             panelSetup,
  4612.                                  MessageHandler         msgHandler,
  4613.                                  TPrintingClient         printClient)                        SEVENWORDINLINE(0x203C, 0x200A, 0x0018, 0x2078, 0x0948, 0x2050, 0x4E90);
  4614.  
  4615.  
  4616. /* Dialog Handler Panel Routines: 'tckl' ID #11*/
  4617.  
  4618. EXTERN_API_C( OSErr )
  4619. RetrieveCollation                (gxJob                     theJob,
  4620.                                  Boolean *                collate,
  4621.                                  Boolean *                collationLocked)                    SEVENWORDINLINE(0x203C, 0x200B, 0x0004, 0x2078, 0x0948, 0x2050, 0x4E90);
  4622.  
  4623. EXTERN_API_C( OSErr )
  4624. RetrieveCopies                    (gxJob                     theJob,
  4625.                                  long *                    numCopies,
  4626.                                  Boolean *                copiesLocked)                        SEVENWORDINLINE(0x203C, 0x200B, 0x0008, 0x2078, 0x0948, 0x2050, 0x4E90);
  4627.  
  4628. EXTERN_API_C( OSErr )
  4629. RetrieveDefaultBinMapping        (gxJob                     theJob,
  4630.                                  Boolean *                doNormalPrinting,
  4631.                                  char *                    howToMapPaper,
  4632.                                  short *                binToMapTo,
  4633.                                  gxPaperType             paperToMapTo)                        SEVENWORDINLINE(0x203C, 0x200B, 0x000C, 0x2078, 0x0948, 0x2050, 0x4E90);
  4634.  
  4635. EXTERN_API_C( OSErr )
  4636. RetrieveDestination                (gxJob                     theJob,
  4637.                                  Boolean *                printToAFile,
  4638.                                  Boolean *                destLocked)                            SEVENWORDINLINE(0x203C, 0x200B, 0x0010, 0x2078, 0x0948, 0x2050, 0x4E90);
  4639.  
  4640. EXTERN_API_C( OSErr )
  4641. RetrieveDestinationSettings        (gxJob                     theJob,
  4642.                                  gxPrintDestinationPtr     printDestination)                    SEVENWORDINLINE(0x203C, 0x200B, 0x0014, 0x2078, 0x0948, 0x2050, 0x4E90);
  4643.  
  4644. EXTERN_API_C( OSErr )
  4645. RetrieveFileFormat                (gxJob                     theJob,
  4646.                                  Str31                     fileFormatPtr,
  4647.                                  Boolean *                filefmtLocked)                        SEVENWORDINLINE(0x203C, 0x200B, 0x0018, 0x2078, 0x0948, 0x2050, 0x4E90);
  4648.  
  4649. EXTERN_API_C( OSErr )
  4650. RetrieveFileSpec                (gxJob                     theJob,
  4651.                                  FSSpec *                fSpec,
  4652.                                  Boolean *                specLocked)                            SEVENWORDINLINE(0x203C, 0x200B, 0x001C, 0x2078, 0x0948, 0x2050, 0x4E90);
  4653.  
  4654. EXTERN_API_C( OSErr )
  4655. RetrieveFontsInFile                (gxJob                     theJob,
  4656.                                  char *                    fIncludeFonts,
  4657.                                  Boolean *                includeFontsLocked)                    SEVENWORDINLINE(0x203C, 0x200B, 0x0020, 0x2078, 0x0948, 0x2050, 0x4E90);
  4658.  
  4659. EXTERN_API_C( OSErr )
  4660. RetrieveLastPaperFeed            (gxJob                     theJob,
  4661.                                  Boolean *                autoFeedOn,
  4662.                                  Boolean *                feedLocked)                            SEVENWORDINLINE(0x203C, 0x200B, 0x0024, 0x2078, 0x0948, 0x2050, 0x4E90);
  4663.  
  4664. EXTERN_API_C( OSErr )
  4665. RetrieveManualFeedPaper            (gxJob                     theJob,
  4666.                                  gxManualFeedInfo **    paperTypeNameList)                    SEVENWORDINLINE(0x203C, 0x200B, 0x0028, 0x2078, 0x0948, 0x2050, 0x4E90);
  4667.  
  4668. EXTERN_API_C( OSErr )
  4669. RetrievePageRangeInfo            (gxJob                     theJob,
  4670.                                  Handle                 pageRangeHdl,
  4671.                                  Boolean *                pageRangeLocked)                    SEVENWORDINLINE(0x203C, 0x200B, 0x002C, 0x2078, 0x0948, 0x2050, 0x4E90);
  4672.  
  4673. EXTERN_API_C( OSErr )
  4674. RetrievePaperFeed                (gxJob                     theJob,
  4675.                                  Boolean *                autoFeedOn,
  4676.                                  Boolean *                feedLocked)                            SEVENWORDINLINE(0x203C, 0x200B, 0x0030, 0x2078, 0x0948, 0x2050, 0x4E90);
  4677.  
  4678. EXTERN_API_C( OSErr )
  4679. RetrieveQuality                    (gxJob                     theJob,
  4680.                                  Handle                 qPrefsHdl,
  4681.                                  Boolean *                qualityLocked)                        SEVENWORDINLINE(0x203C, 0x200B, 0x0034, 0x2078, 0x0948, 0x2050, 0x4E90);
  4682.  
  4683. EXTERN_API_C( OSErr )
  4684. RetrieveScaleFactor                (Fixed *                theHorizontalScaleFactor,
  4685.                                  Fixed *                theVerticalScaleFactor,
  4686.                                  gxFormat                 theFormat,
  4687.                                  Boolean *                fScalingIsLocked)                    SEVENWORDINLINE(0x203C, 0x200B, 0x0038, 0x2078, 0x0948, 0x2050, 0x4E90);
  4688.  
  4689. EXTERN_API_C( OSErr )
  4690. RetrieveScaleRange                (short *                theMax,
  4691.                                  short *                theMin,
  4692.                                  gxFormat                 theFormat)                            SEVENWORDINLINE(0x203C, 0x200B, 0x003C, 0x2078, 0x0948, 0x2050, 0x4E90);
  4693.  
  4694. EXTERN_API_C( OSErr )
  4695. RetrieveStartPanel                (gxJob                     theJob,
  4696.                                  Str31                     startPanelName,
  4697.                                  Boolean                 fPrint,
  4698.                                  Boolean *                startPanelLocked)                    SEVENWORDINLINE(0x203C, 0x200B, 0x0040, 0x2078, 0x0948, 0x2050, 0x4E90);
  4699.  
  4700. EXTERN_API_C( OSErr )
  4701. UpdateCollation                    (gxJob                     theJob,
  4702.                                  Boolean                 collate)                            SEVENWORDINLINE(0x203C, 0x200B, 0x0044, 0x2078, 0x0948, 0x2050, 0x4E90);
  4703.  
  4704. EXTERN_API_C( OSErr )
  4705. UpdateCopies                    (gxJob                     theJob,
  4706.                                  long                     numCopies)                            SEVENWORDINLINE(0x203C, 0x200B, 0x0048, 0x2078, 0x0948, 0x2050, 0x4E90);
  4707.  
  4708. EXTERN_API_C( OSErr )
  4709. UpdateDefaultBinMapping            (gxJob                     theJob,
  4710.                                  Boolean *                doNormalPrinting,
  4711.                                  char *                    howToMapPaper,
  4712.                                  short *                binToMapTo,
  4713.                                  gxPaperType             paperToMapTo)                        SEVENWORDINLINE(0x203C, 0x200B, 0x004C, 0x2078, 0x0948, 0x2050, 0x4E90);
  4714.  
  4715. EXTERN_API_C( OSErr )
  4716. UpdateDestination                (gxJob                     theJob,
  4717.                                  Boolean                 fToAFile,
  4718.                                  Boolean                 lockIt)                                SEVENWORDINLINE(0x203C, 0x200B, 0x0050, 0x2078, 0x0948, 0x2050, 0x4E90);
  4719.  
  4720. EXTERN_API_C( OSErr )
  4721. UpdateDestinationSettings        (gxJob                     theJob,
  4722.                                  gxPrintDestinationPtr     printDestination)                    SEVENWORDINLINE(0x203C, 0x200B, 0x0054, 0x2078, 0x0948, 0x2050, 0x4E90);
  4723.  
  4724. EXTERN_API_C( OSErr )
  4725. UpdateFileFormat                (gxJob                     theJob,
  4726.                                  Str31                     fileFormatPtr,
  4727.                                  Boolean                 lockIt)                                SEVENWORDINLINE(0x203C, 0x200B, 0x0058, 0x2078, 0x0948, 0x2050, 0x4E90);
  4728.  
  4729. EXTERN_API_C( OSErr )
  4730. UpdateFileSpec                    (gxJob                     theJob,
  4731.                                  FSSpec *                fSpec,
  4732.                                  Boolean                 lockIt)                                SEVENWORDINLINE(0x203C, 0x200B, 0x005C, 0x2078, 0x0948, 0x2050, 0x4E90);
  4733.  
  4734. EXTERN_API_C( OSErr )
  4735. UpdateFontsInFile                (gxJob                     theJob,
  4736.                                  char                     fIncludeFonts)                        SEVENWORDINLINE(0x203C, 0x200B, 0x0060, 0x2078, 0x0948, 0x2050, 0x4E90);
  4737.  
  4738. EXTERN_API_C( OSErr )
  4739. UpdateGeneralPrintSettings        (gxJob                     theJob,
  4740.                                  TGeneralPrintSettingsPtr  pSettings)                        SEVENWORDINLINE(0x203C, 0x200B, 0x0064, 0x2078, 0x0948, 0x2050, 0x4E90);
  4741.  
  4742. EXTERN_API_C( OSErr )
  4743. UpdateLastPaperFeed                (gxJob                     theJob,
  4744.                                  Boolean                 autoFeedOn,
  4745.                                  Boolean                 feedLocked)                            SEVENWORDINLINE(0x203C, 0x200B, 0x0068, 0x2078, 0x0948, 0x2050, 0x4E90);
  4746.  
  4747. EXTERN_API_C( OSErr )
  4748. UpdateManualFeedPaper            (gxJob                     theJob,
  4749.                                  gxManualFeedInfo *        paperTypeNameList)                    SEVENWORDINLINE(0x203C, 0x200B, 0x006C, 0x2078, 0x0948, 0x2050, 0x4E90);
  4750.  
  4751. EXTERN_API_C( OSErr )
  4752. UpdatePageRangeInfo                (gxJob                     theJob,
  4753.                                  Handle                 pageRangeHdl,
  4754.                                  Boolean                 pageRangeLocked)                    SEVENWORDINLINE(0x203C, 0x200B, 0x0070, 0x2078, 0x0948, 0x2050, 0x4E90);
  4755.  
  4756. EXTERN_API_C( OSErr )
  4757. UpdatePaperFeed                    (gxJob                     theJob,
  4758.                                  Boolean                 autoFeedOn,
  4759.                                  Boolean                 locked)                                SEVENWORDINLINE(0x203C, 0x200B, 0x0074, 0x2078, 0x0948, 0x2050, 0x4E90);
  4760.  
  4761. EXTERN_API_C( OSErr )
  4762. UpdateQuality                    (gxJob                     theJob,
  4763.                                  Handle                 qPrefs,
  4764.                                  Boolean                 qualityLocked)                        SEVENWORDINLINE(0x203C, 0x200B, 0x0078, 0x2078, 0x0948, 0x2050, 0x4E90);
  4765.  
  4766. EXTERN_API_C( OSErr )
  4767. UpdateScaleFactor                (gxFormat                 theFormat,
  4768.                                  Fixed                     theHorizontalScaleFactor,
  4769.                                  Fixed                     theVerticalScaleFactor)                SEVENWORDINLINE(0x203C, 0x200B, 0x007C, 0x2078, 0x0948, 0x2050, 0x4E90);
  4770.  
  4771. EXTERN_API_C( OSErr )
  4772. UpdateStartPanel                (gxJob                     theJob,
  4773.                                  Str31                     startPanelName,
  4774.                                  Boolean                 fPrint)                                SEVENWORDINLINE(0x203C, 0x200B, 0x0080, 0x2078, 0x0948, 0x2050, 0x4E90);
  4775.  
  4776. EXTERN_API_C( OSErr )
  4777. IsManualFeedPaperType            (gxPaperType             thePaperType,
  4778.                                  Boolean *                IsManualFeed)                        SEVENWORDINLINE(0x203C, 0x200B, 0x0084, 0x2078, 0x0948, 0x2050, 0x4E90);
  4779.  
  4780. EXTERN_API_C( OSErr )
  4781. GetDocPaperNames                (gxManualFeedInfo **    pNameList)                            SEVENWORDINLINE(0x203C, 0x200B, 0x0088, 0x2078, 0x0948, 0x2050, 0x4E90);
  4782.  
  4783. EXTERN_API_C( OSErr )
  4784. ProcessMMEvents                    (DialogPtr                 pDlg,
  4785.                                  EventRecord *            theEvent,
  4786.                                  short *                itemHit)                            SEVENWORDINLINE(0x203C, 0x200B, 0x008C, 0x2078, 0x0948, 0x2050, 0x4E90);
  4787.  
  4788. EXTERN_API_C( OSErr )
  4789. AppendBinNameToPaper            (Str255                 mergedString,
  4790.                                  Str31                     paperTypeName,
  4791.                                  Str31                     binName,
  4792.                                  Rect *                    rBounds)                            SEVENWORDINLINE(0x203C, 0x200B, 0x0090, 0x2078, 0x0948, 0x2050, 0x4E90);
  4793.  
  4794. EXTERN_API_C( OSErr )
  4795. DlgSupportsDirectMode            (char *                    directModeSupport)                    SEVENWORDINLINE(0x203C, 0x200B, 0x0094, 0x2078, 0x0948, 0x2050, 0x4E90);
  4796.  
  4797. EXTERN_API_C( OSErr )
  4798. DlgDialogInProgress                (Boolean *                inProgress)                            SEVENWORDINLINE(0x203C, 0x200B, 0x0098, 0x2078, 0x0948, 0x2050, 0x4E90);
  4799.  
  4800. EXTERN_API_C( OSErr )
  4801. DlgInAdvancedMode                (Boolean *                inAdvancedMode)                        SEVENWORDINLINE(0x203C, 0x200B, 0x009C, 0x2078, 0x0948, 0x2050, 0x4E90);
  4802.  
  4803. EXTERN_API_C( OSErr )
  4804. DlgScalingDisabled                (Boolean *                scalingDisabled)                    SEVENWORDINLINE(0x203C, 0x200B, 0x00A0, 0x2078, 0x0948, 0x2050, 0x4E90);
  4805.  
  4806. EXTERN_API_C( OSErr )
  4807. DlgScalingPanelNotLoaded        (Boolean *                notLoaded)                            SEVENWORDINLINE(0x203C, 0x200B, 0x00A4, 0x2078, 0x0948, 0x2050, 0x4E90);
  4808.  
  4809. EXTERN_API_C( OSErr )
  4810. HandleWriteToAFile                (Boolean *                fUserCancels,
  4811.                                  Boolean                 fromOldApp)                            SEVENWORDINLINE(0x203C, 0x200B, 0x00A8, 0x2078, 0x0948, 0x2050, 0x4E90);
  4812.  
  4813. EXTERN_API_C( OSErr )
  4814. ParseInteger                    (Boolean                 negativeOK,
  4815.                                  DialogPtr                 pDlg,
  4816.                                  short                     editItem,
  4817.                                  Boolean *                validInteger)                        SEVENWORDINLINE(0x203C, 0x200B, 0x00AC, 0x2078, 0x0948, 0x2050, 0x4E90);
  4818.  
  4819. EXTERN_API_C( OSErr )
  4820. DlgSetRadioButtons                (DialogPtr                 pDialog,
  4821.                                  TDlgRange *            dlgRange)                            SEVENWORDINLINE(0x203C, 0x200B, 0x00B0, 0x2078, 0x0948, 0x2050, 0x4E90);
  4822.  
  4823. EXTERN_API_C( OSErr )
  4824. RetrieveDefaultSetting            (gxJob                     theJob,
  4825.                                  Boolean *                useDefaults,
  4826.                                  Boolean *                settingLocked)                        SEVENWORDINLINE(0x203C, 0x200B, 0x00B4, 0x2078, 0x0948, 0x2050, 0x4E90);
  4827.  
  4828. EXTERN_API_C( OSErr )
  4829. UpdateDefaultSetting            (gxJob                     theJob,
  4830.                                  Boolean                 useDefaults)                        SEVENWORDINLINE(0x203C, 0x200B, 0x00B8, 0x2078, 0x0948, 0x2050, 0x4E90);
  4831.  
  4832. EXTERN_API_C( OSErr )
  4833. AddPaperFeedAlias                (Str31                     paperTypeName,
  4834.                                  long                     trayToFeedFrom,
  4835.                                  char                     specialMapping,
  4836.                                  Boolean                 wasManualFeed)                        SEVENWORDINLINE(0x203C, 0x200B, 0x00BC, 0x2078, 0x0948, 0x2050, 0x4E90);
  4837.  
  4838. EXTERN_API_C( OSErr )
  4839. RetrievePaperFeedAlias            (Str31                     paperTypeName,
  4840.                                  long *                    trayToFeedFrom,
  4841.                                  char *                    specialMapping)                        SEVENWORDINLINE(0x203C, 0x200B, 0x00C0, 0x2078, 0x0948, 0x2050, 0x4E90);
  4842.  
  4843. EXTERN_API_C( OSErr )
  4844. RetrieveManualFeedAlertSettings    (long *                    mfSettings)                            SEVENWORDINLINE(0x203C, 0x200B, 0x00C4, 0x2078, 0x0948, 0x2050, 0x4E90);
  4845.  
  4846. EXTERN_API_C( OSErr )
  4847. PurgePaperFeedAliasByTray        (gxTrayIndex             whichTray)                            SEVENWORDINLINE(0x203C, 0x200B, 0x00C8, 0x2078, 0x0948, 0x2050, 0x4E90);
  4848.  
  4849.  
  4850. /* Dialog Handler xdtl Routines: 'tckl' ID #12*/
  4851.  
  4852. EXTERN_API_C( OSErr )
  4853. LoadXdtl                        (TPDialogStore             dialogStorage)                        SEVENWORDINLINE(0x203C, 0x200C, 0x0004, 0x2078, 0x0948, 0x2050, 0x4E90);
  4854.  
  4855. EXTERN_API_C( OSErr )
  4856. HandleXdtl                        (TPDialogStore             dialogStorage,
  4857.                                  short                     itemHit,
  4858.                                  TPanelLinkPtr             panelList)                            SEVENWORDINLINE(0x203C, 0x200C, 0x0008, 0x2078, 0x0948, 0x2050, 0x4E90);
  4859.  
  4860. EXTERN_API_C( OSErr )
  4861. HandleXdtlFilter                (TPDialogStore             dialogStorage,
  4862.                                  short *                itemHit,
  4863.                                  Boolean *                returnImmed)                        SEVENWORDINLINE(0x203C, 0x200C, 0x000C, 0x2078, 0x0948, 0x2050, 0x4E90);
  4864.  
  4865.  
  4866. /* Dialog Handler Main Routines: 'tckl' ID #13*/
  4867.  
  4868. EXTERN_API_C( OSErr )
  4869. DlgConductFormatDialog            (gxJob                     theJob,
  4870.                                  gxDialogResult *        dialogResult,
  4871.                                  StringPtr                 dialogName,
  4872.                                  gxFormat                 theFormat)                            SEVENWORDINLINE(0x203C, 0x200D, 0x0004, 0x2078, 0x0948, 0x2050, 0x4E90);
  4873.  
  4874. EXTERN_API_C( OSErr )
  4875. DlgConductJobFormatDialog        (gxJob                     theJob,
  4876.                                  gxDialogResult *        dialogResult)                        SEVENWORDINLINE(0x203C, 0x200D, 0x0008, 0x2078, 0x0948, 0x2050, 0x4E90);
  4877.  
  4878. EXTERN_API_C( OSErr )
  4879. DlgConductPrintDialog            (gxJob                     theJob,
  4880.                                  gxDialogResult *        dialogResult)                        SEVENWORDINLINE(0x203C, 0x200D, 0x000C, 0x2078, 0x0948, 0x2050, 0x4E90);
  4881.  
  4882. EXTERN_API_C( OSErr )
  4883. DlgDisposeDialogAllocations        (void)                                                        SEVENWORDINLINE(0x203C, 0x200D, 0x0010, 0x2078, 0x0948, 0x2050, 0x4E90);
  4884.  
  4885. EXTERN_API_C( OSErr )
  4886. DlgFormatByPage                    (Boolean *                wasCalledByGXFormatDialog)            SEVENWORDINLINE(0x203C, 0x200D, 0x0014, 0x2078, 0x0948, 0x2050, 0x4E90);
  4887.  
  4888. EXTERN_API_C( OSErr )
  4889. DlgGetPanelDimensions            (Rect *                    panelArea)                            SEVENWORDINLINE(0x203C, 0x200D, 0x0018, 0x2078, 0x0948, 0x2050, 0x4E90);
  4890.  
  4891. EXTERN_API_C( OSErr )
  4892. VCDisposeValidationCache        (void)                                                        SEVENWORDINLINE(0x203C, 0x200D, 0x001C, 0x2078, 0x0948, 0x2050, 0x4E90);
  4893.  
  4894. EXTERN_API_C( OSErr )
  4895. VCAddCacheItem                    (StringPtr                 str,
  4896.                                  CollectionTag             tag)                                SEVENWORDINLINE(0x203C, 0x200D, 0x0020, 0x2078, 0x0948, 0x2050, 0x4E90);
  4897.  
  4898. EXTERN_API_C( OSErr )
  4899. VCDeleteCacheItem                (StringPtr                 str,
  4900.                                  CollectionTag             tag)                                SEVENWORDINLINE(0x203C, 0x200D, 0x0024, 0x2078, 0x0948, 0x2050, 0x4E90);
  4901.  
  4902. EXTERN_API_C( OSErr )
  4903. VCValidateCacheItem                (StringPtr                 str,
  4904.                                  CollectionTag             tag,
  4905.                                  Boolean *                found)                                SEVENWORDINLINE(0x203C, 0x200D, 0x0028, 0x2078, 0x0948, 0x2050, 0x4E90);
  4906.  
  4907.  
  4908. /* Async I/O Handler Routines: 'tckl' ID #14*/
  4909.  
  4910. EXTERN_API_C( OSErr )
  4911. HIOInit                            (UInt16                 numIORqstBlks)                        SEVENWORDINLINE(0x203C, 0x200E, 0x0004, 0x2078, 0x0948, 0x2050, 0x4E90);
  4912.  
  4913. EXTERN_API_C( OSErr )
  4914. HIOShutdown                        (void)                                                        SEVENWORDINLINE(0x203C, 0x200E, 0x0008, 0x2078, 0x0948, 0x2050, 0x4E90);
  4915.  
  4916. EXTERN_API_C( OSErr )
  4917. HIOOpenConn                        (ECommProtocolType *    protocolType,
  4918.                                  Boolean                 isAsync,
  4919.                                  UInt16 *                connRefnum,
  4920.                                  ProtocolFilterUPP         rsrcFilterProc,
  4921.                                  UInt32                 procRefCon,
  4922.                                  UInt32                 timeout)                            SEVENWORDINLINE(0x203C, 0x200E, 0x000C, 0x2078, 0x0948, 0x2050, 0x4E90);
  4923.  
  4924. EXTERN_API_C( OSErr )
  4925. HIOCloseConn                    (Boolean                 killPendingIOs,
  4926.                                  UInt32                 closeTimeout)                        SEVENWORDINLINE(0x203C, 0x200E, 0x0010, 0x2078, 0x0948, 0x2050, 0x4E90);
  4927.  
  4928. EXTERN_API_C( OSErr )
  4929. HIOReceiveChar                    (UInt32                 ioAttributes,
  4930.                                  Ptr                     rcvdChar,
  4931.                                  UInt32                 rcvTimeout,
  4932.                                  UInt16 *                numRcvd,
  4933.                                  UInt16 *                requestID)                            SEVENWORDINLINE(0x203C, 0x200E, 0x0014, 0x2078, 0x0948, 0x2050, 0x4E90);
  4934.  
  4935. EXTERN_API_C( OSErr )
  4936. HIOSendChar                        (UInt32                 ioAttributes,
  4937.                                  char                     charToSend,
  4938.                                  UInt32                 sendTimeout,
  4939.                                  UInt16 *                requestID)                            SEVENWORDINLINE(0x203C, 0x200E, 0x0018, 0x2078, 0x0948, 0x2050, 0x4E90);
  4940.  
  4941. EXTERN_API_C( OSErr )
  4942. HIOReceiveBuffer                (UInt32                 ioAttributes,
  4943.                                  Ptr                     rcvBuffer,
  4944.                                  UInt32 *                numToRcv,
  4945.                                  UInt32                 rcvTimeout,
  4946.                                  UInt16 *                requestID,
  4947.                                  SInt8                     msgType)                            SEVENWORDINLINE(0x203C, 0x200E, 0x001C, 0x2078, 0x0948, 0x2050, 0x4E90);
  4948.  
  4949. EXTERN_API_C( OSErr )
  4950. HIOSendBuffer                    (UInt32                 ioAttributes,
  4951.                                  Ptr                     sendBuffer,
  4952.                                  UInt32 *                numToSend,
  4953.                                  UInt32                 sendTimeout,
  4954.                                  UInt16 *                requestID,
  4955.                                  SInt8                     msgType)                            SEVENWORDINLINE(0x203C, 0x200E, 0x0020, 0x2078, 0x0948, 0x2050, 0x4E90);
  4956.  
  4957.  
  4958. EXTERN_API_C( OSErr )
  4959. HIOStatusConn                    (UInt32                 ioAttributes,
  4960.                                  Ptr                     cmndBuffer,
  4961.                                  UInt32 *                cmndSize,
  4962.                                  Ptr                     responseBuffer,
  4963.                                  UInt32 *                responseSize,
  4964.                                  StringPtr                 termBytes,
  4965.                                  UInt32                 statusTimeout,
  4966.                                  UInt16 *                requestID)                            SEVENWORDINLINE(0x203C, 0x200E, 0x0024, 0x2078, 0x0948, 0x2050, 0x4E90);
  4967.  
  4968. EXTERN_API_C( OSErr )
  4969. HIOControlConn                    (UInt32                 ioAttributes,
  4970.                                  Ptr                     cmndBuffer,
  4971.                                  UInt32 *                cmndSize,
  4972.                                  Ptr                     responseBuffer,
  4973.                                  UInt32 *                responseSize,
  4974.                                  UInt32                 controlTimeout,
  4975.                                  UInt16 *                requestID)                            SEVENWORDINLINE(0x203C, 0x200E, 0x0028, 0x2078, 0x0948, 0x2050, 0x4E90);
  4976.  
  4977. EXTERN_API_C( OSErr )
  4978. HIOTask                            (Boolean *                ioCompleted,
  4979.                                  HIORqstRsltPtr         ioResult,
  4980.                                  UInt16                 requestID)                            SEVENWORDINLINE(0x203C, 0x200E, 0x002C, 0x2078, 0x0948, 0x2050, 0x4E90);
  4981.  
  4982. EXTERN_API_C( OSErr )
  4983. HIOGetProtocolData                (ECommProtocolType         commType,
  4984.                                  Handle *                protocolData)                        SEVENWORDINLINE(0x203C, 0x200E, 0x0030, 0x2078, 0x0948, 0x2050, 0x4E90);
  4985.  
  4986. EXTERN_API_C( OSErr )
  4987. HIOKillRequest                    (UInt16                 requestID,
  4988.                                  HIORqstRsltPtr         ioResult)                            SEVENWORDINLINE(0x203C, 0x200E, 0x0034, 0x2078, 0x0948, 0x2050, 0x4E90);
  4989.  
  4990.  
  4991. /* Users & Groups Routines: 'tckl' ID #15*/
  4992.  
  4993. EXTERN_API_C( OSErr )
  4994. UGOpenFile                        (UserGroupPBPtr         thePB,
  4995.                                  Boolean                 async)                                SEVENWORDINLINE(0x203C, 0x200F, 0x0004, 0x2078, 0x0948, 0x2050, 0x4E90);
  4996.  
  4997. EXTERN_API_C( OSErr )
  4998. UGCloseFile                        (UserGroupPBPtr         thePB,
  4999.                                  Boolean                 async)                                SEVENWORDINLINE(0x203C, 0x200F, 0x0008, 0x2078, 0x0948, 0x2050, 0x4E90);
  5000.  
  5001. EXTERN_API_C( OSErr )
  5002. UGGetUserInfo                    (UserGroupPBPtr         thePB,
  5003.                                  Boolean                 async)                                SEVENWORDINLINE(0x203C, 0x200F, 0x000C, 0x2078, 0x0948, 0x2050, 0x4E90);
  5004.  
  5005. EXTERN_API_C( OSErr )
  5006. UGGetUserPwd                    (UserGroupPBPtr         thePB,
  5007.                                  Boolean                 async)                                SEVENWORDINLINE(0x203C, 0x200F, 0x0010, 0x2078, 0x0948, 0x2050, 0x4E90);
  5008.  
  5009. EXTERN_API_C( OSErr )
  5010. UGSetUserInfo                    (UserGroupPBPtr         thePB,
  5011.                                  Boolean                 async)                                SEVENWORDINLINE(0x203C, 0x200F, 0x0014, 0x2078, 0x0948, 0x2050, 0x4E90);
  5012.  
  5013. EXTERN_API_C( OSErr )
  5014. UGGetGroupInfo                    (UserGroupPBPtr         thePB,
  5015.                                  Boolean                 async)                                SEVENWORDINLINE(0x203C, 0x200F, 0x0018, 0x2078, 0x0948, 0x2050, 0x4E90);
  5016.  
  5017.  
  5018. /* Dev. Comm. Client Routines: 'tckl' ID #16*/
  5019.  
  5020. EXTERN_API_C( OSErr )
  5021. LookupRemoteDevice                (gxJob                     theJob,
  5022.                                  Ptr                     nbpEntity,
  5023.                                  unsigned long             lastAddress,
  5024.                                  unsigned long             requestID,
  5025.                                  TLookupPtr *            lookupPtr)                            SEVENWORDINLINE(0x203C, 0x2010, 0x0004, 0x2078, 0x0948, 0x2050, 0x4E90);
  5026.  
  5027. EXTERN_API_C( OSErr )
  5028. LookupRemoteIdle                (gxJob                     theJob,
  5029.                                  TLookupPtr             lookupPtr)                            SEVENWORDINLINE(0x203C, 0x2010, 0x0008, 0x2078, 0x0948, 0x2050, 0x4E90);
  5030.  
  5031. EXTERN_API_C( OSErr )
  5032. ClientKillLookup                (gxJob                     theJob,
  5033.                                  TLookupPtr             lookupPtr)                            SEVENWORDINLINE(0x203C, 0x2010, 0x000C, 0x2078, 0x0948, 0x2050, 0x4E90);
  5034.  
  5035. EXTERN_API_C( OSErr )
  5036. ClientIdle                        (gxJob                     theJob,
  5037.                                  ClientPtr                 theClient)                            SEVENWORDINLINE(0x203C, 0x2010, 0x0010, 0x2078, 0x0948, 0x2050, 0x4E90);
  5038.  
  5039. EXTERN_API_C( OSErr )
  5040. ClientResetConnection            (gxJob                     theJob,
  5041.                                  ClientPtr                 theClient,
  5042.                                  Boolean                 forceReset)                            SEVENWORDINLINE(0x203C, 0x2010, 0x0014, 0x2078, 0x0948, 0x2050, 0x4E90);
  5043.  
  5044. EXTERN_API_C( OSErr )
  5045. ClientOpenConnection            (gxJob                     theJob,
  5046.                                  ClientPtr *            theClient,
  5047.                                  unsigned long             serverAddr)                            SEVENWORDINLINE(0x203C, 0x2010, 0x0018, 0x2078, 0x0948, 0x2050, 0x4E90);
  5048.  
  5049. EXTERN_API_C( OSErr )
  5050. ClientCloseConnection            (gxJob                     theJob,
  5051.                                  ClientPtr                 theClient)                            SEVENWORDINLINE(0x203C, 0x2010, 0x001C, 0x2078, 0x0948, 0x2050, 0x4E90);
  5052.  
  5053. EXTERN_API_C( OSErr )
  5054. ClientAbortRequest                (gxJob                     theJob,
  5055.                                  ClientPtr                 theClient)                            SEVENWORDINLINE(0x203C, 0x2010, 0x0020, 0x2078, 0x0948, 0x2050, 0x4E90);
  5056.  
  5057. EXTERN_API_C( OSErr )
  5058. ClientAuthenticate                (gxJob                     theJob,
  5059.                                  ClientPtr                 theClient,
  5060.                                  LogonDialogPtr         theInfo,
  5061.                                  Boolean                 useNoPwdUAM)                        SEVENWORDINLINE(0x203C, 0x2010, 0x0024, 0x2078, 0x0948, 0x2050, 0x4E90);
  5062.  
  5063. EXTERN_API_C( OSErr )
  5064. ClientChangePassword            (gxJob                     theJob,
  5065.                                  ClientPtr                 theClient,
  5066.                                  UAMType                 theUAM,
  5067.                                  Str31                     userName,
  5068.                                  Str31                     oldPassword,
  5069.                                  Str31                     newPassword)                        SEVENWORDINLINE(0x203C, 0x2010, 0x0028, 0x2078, 0x0948, 0x2050, 0x4E90);
  5070.  
  5071. EXTERN_API_C( OSErr )
  5072. ClientGetServerInfo                (gxJob                     theJob,
  5073.                                  ClientPtr                 theClient,
  5074.                                  ServerInfoPtr             infoPtr,
  5075.                                  long                     magicCookie)                        SEVENWORDINLINE(0x203C, 0x2010, 0x002C, 0x2078, 0x0948, 0x2050, 0x4E90);
  5076.  
  5077. EXTERN_API_C( OSErr )
  5078. ClientGetQueueState                (gxJob                     theJob,
  5079.                                  ClientPtr                 theClient,
  5080.                                  long                     queueID,
  5081.                                  long                     magicCookie)                        SEVENWORDINLINE(0x203C, 0x2010, 0x0030, 0x2078, 0x0948, 0x2050, 0x4E90);
  5082.  
  5083. EXTERN_API_C( OSErr )
  5084. ClientSetQueueState                (gxJob                     theJob,
  5085.                                  ClientPtr                 theClient,
  5086.                                  long                     queueID,
  5087.                                  long                     magicCookie,
  5088.                                  unsigned long             queueState)                            SEVENWORDINLINE(0x203C, 0x2010, 0x0034, 0x2078, 0x0948, 0x2050, 0x4E90);
  5089.  
  5090. EXTERN_API_C( OSErr )
  5091. ClientGetDeviceStatus            (gxJob                     theJob,
  5092.                                  ClientPtr                 theClient,
  5093.                                  long                     queueID,
  5094.                                  long                     deviceID,
  5095.                                  long                     magicCookie)                        SEVENWORDINLINE(0x203C, 0x2010, 0x0038, 0x2078, 0x0948, 0x2050, 0x4E90);
  5096.  
  5097. EXTERN_API_C( OSErr )
  5098. ClientSetDeviceStatus            (gxJob                     theJob,
  5099.                                  ClientPtr                 theClient,
  5100.                                  long                     queueID,
  5101.                                  long                     deviceID,
  5102.                                  long                     magicCookie,
  5103.                                  long                     remoteJobID,
  5104.                                  gxStatusRecord *        theStatus)                            SEVENWORDINLINE(0x203C, 0x2010, 0x003C, 0x2078, 0x0948, 0x2050, 0x4E90);
  5105.  
  5106. EXTERN_API_C( OSErr )
  5107. ClientGetJobList                (gxJob                     theJob,
  5108.                                  ClientPtr                 theClient,
  5109.                                  long                     queueID,
  5110.                                  long                     deviceID,
  5111.                                  long                     magicCookie)                        SEVENWORDINLINE(0x203C, 0x2010, 0x0040, 0x2078, 0x0948, 0x2050, 0x4E90);
  5112.  
  5113. EXTERN_API_C( OSErr )
  5114. ClientGetJobInfo                (gxJob                     theJob,
  5115.                                  ClientPtr                 theClient,
  5116.                                  long                     queueID,
  5117.                                  long                     deviceID,
  5118.                                  long                     fileID,
  5119.                                  long                     magicCookie)                        SEVENWORDINLINE(0x203C, 0x2010, 0x0044, 0x2078, 0x0948, 0x2050, 0x4E90);
  5120.  
  5121. EXTERN_API_C( OSErr )
  5122. ClientSetJobInfo                (gxJob                     theJob,
  5123.                                  ClientPtr                 theClient,
  5124.                                  long                     queueID,
  5125.                                  long                     deviceID,
  5126.                                  long                     remoteJobID,
  5127.                                  long                     magicCookie,
  5128.                                  long                     priority,
  5129.                                  unsigned long             timeToPrint,
  5130.                                  long                     jobTimeout,
  5131.                                  long                     firstPageToPrint,
  5132.                                  long                     numCopies,
  5133.                                  long                     jobAlert)                            SEVENWORDINLINE(0x203C, 0x2010, 0x0048, 0x2078, 0x0948, 0x2050, 0x4E90);
  5134.  
  5135. EXTERN_API_C( OSErr )
  5136. ClientSendFile                    (gxJob                     theJob,
  5137.                                  ClientPtr                 theClient,
  5138.                                  gxSpoolFile             theSpoolFile,
  5139.                                  long *                    jobID,
  5140.                                  long *                    deviceID,
  5141.                                  long *                    queueID,
  5142.                                  Boolean *                continueImaging)                    SEVENWORDINLINE(0x203C, 0x2010, 0x004C, 0x2078, 0x0948, 0x2050, 0x4E90);
  5143.  
  5144. EXTERN_API_C( OSErr )
  5145. ClientDeleteFile                (gxJob                     theJob,
  5146.                                  ClientPtr                 theClient,
  5147.                                  long                     queueID,
  5148.                                  long                     deviceID,
  5149.                                  long                     remoteJobID)                        SEVENWORDINLINE(0x203C, 0x2010, 0x0050, 0x2078, 0x0948, 0x2050, 0x4E90);
  5150.  
  5151. EXTERN_API_C( OSErr )
  5152. NewRemotePing                    (gxJob                     theJob,
  5153.                                  TPingPtr *                pingPtr)                            SEVENWORDINLINE(0x203C, 0x2010, 0x0054, 0x2078, 0x0948, 0x2050, 0x4E90);
  5154.  
  5155. EXTERN_API_C( OSErr )
  5156. DisposeRemotePing                (gxJob                     theJob,
  5157.                                  TPingPtr                 pingPtr)                            SEVENWORDINLINE(0x203C, 0x2010, 0x0058, 0x2078, 0x0948, 0x2050, 0x4E90);
  5158.  
  5159. EXTERN_API_C( OSErr )
  5160. PingRemoteDevice                (gxJob                     theJob,
  5161.                                  TPingPtr                 pingPtr,
  5162.                                  long                     requestID,
  5163.                                  unsigned long             serverAddr,
  5164.                                  long                     queueID)                            SEVENWORDINLINE(0x203C, 0x2010, 0x005C, 0x2078, 0x0948, 0x2050, 0x4E90);
  5165.  
  5166. EXTERN_API_C( OSErr )
  5167. PingRemoteIdle                    (gxJob                     theJob,
  5168.                                  TPingPtr                 pingPtr)                            SEVENWORDINLINE(0x203C, 0x2010, 0x0060, 0x2078, 0x0948, 0x2050, 0x4E90);
  5169.  
  5170. EXTERN_API_C( OSErr )
  5171. ClientKillPing                    (gxJob                     theJob,
  5172.                                  TPingPtr                 pingPtr)                            SEVENWORDINLINE(0x203C, 0x2010, 0x0064, 0x2078, 0x0948, 0x2050, 0x4E90);
  5173.  
  5174. EXTERN_API_C( OSErr )
  5175. ClientOpenRemoteDevice            (gxJob                     theJob,
  5176.                                  GlobalConnectionRec *    theSharedConnection,
  5177.                                  unsigned long             addrHint)                            SEVENWORDINLINE(0x203C, 0x2010, 0x0068, 0x2078, 0x0948, 0x2050, 0x4E90);
  5178.  
  5179. EXTERN_API_C( OSErr )
  5180. ClientGetDeviceInfoList            (gxJob                     theJob,
  5181.                                  ClientPtr                 theClient,
  5182.                                  long                     queueID,
  5183.                                  long                     deviceID,
  5184.                                  long                     magicCookie)                        SEVENWORDINLINE(0x203C, 0x2010, 0x006C, 0x2078, 0x0948, 0x2050, 0x4E90);
  5185.  
  5186. EXTERN_API_C( OSErr )
  5187. ClientGetDeviceInfo                (gxJob                     theJob,
  5188.                                  ClientPtr                 theClient,
  5189.                                  long                     queueID,
  5190.                                  long                     deviceID,
  5191.                                  long                     magicCookie,
  5192.                                  ResType                 infoType,
  5193.                                  unsigned long             infoID)                                SEVENWORDINLINE(0x203C, 0x2010, 0x0070, 0x2078, 0x0948, 0x2050, 0x4E90);
  5194.  
  5195. EXTERN_API_C( OSErr )
  5196. ClientSendData                    (gxJob                     theJob,
  5197.                                  ClientPtr                 theClient,
  5198.                                  Ptr                     dataToSend,
  5199.                                  long                     amountToSend,
  5200.                                  Boolean                 isEOM,
  5201.                                  Boolean                 waitAfter)                            SEVENWORDINLINE(0x203C, 0x2010, 0x0074, 0x2078, 0x0948, 0x2050, 0x4E90);
  5202.  
  5203. EXTERN_API_C( OSErr )
  5204. ClientRecvData                    (gxJob                     theJob,
  5205.                                  ClientPtr                 theClient,
  5206.                                  Ptr                     readHere,
  5207.                                  Size                     amountToRead)                        SEVENWORDINLINE(0x203C, 0x2010, 0x0078, 0x2078, 0x0948, 0x2050, 0x4E90);
  5208.  
  5209. EXTERN_API_C( OSErr )
  5210. ClientSyncDTP                    (gxJob                     theJob)                                SEVENWORDINLINE(0x203C, 0x2010, 0x007C, 0x2078, 0x0948, 0x2050, 0x4E90);
  5211.  
  5212.  
  5213. /* Dev. Comm. Shared Main Routines: 'tckl' ID #17*/
  5214.  
  5215. EXTERN_API_C( OSErr )
  5216. SACheckConnection                (ConnectionPtr             cPtr)                                SEVENWORDINLINE(0x203C, 0x2011, 0x0004, 0x2078, 0x0948, 0x2050, 0x4E90);
  5217.  
  5218. EXTERN_API_C( OSErr )
  5219. SAResetConnection                (ConnectionPtr             cPtr,
  5220.                                  Boolean                 forceReset)                            SEVENWORDINLINE(0x203C, 0x2011, 0x0008, 0x2078, 0x0948, 0x2050, 0x4E90);
  5221.  
  5222. EXTERN_API_C( OSErr )
  5223. SAResetBuffers                    (ConnectionPtr             cPtr)                                SEVENWORDINLINE(0x203C, 0x2011, 0x000C, 0x2078, 0x0948, 0x2050, 0x4E90);
  5224.  
  5225. EXTERN_API_C( OSErr )
  5226. SAAllocateBuffers                (ConnectionPtr             cPtr,
  5227.                                  Size                     sendSize,
  5228.                                  Size                     recvSize,
  5229.                                  Boolean                 sysHeap)                            SEVENWORDINLINE(0x203C, 0x2011, 0x0010, 0x2078, 0x0948, 0x2050, 0x4E90);
  5230.  
  5231. EXTERN_API_C( OSErr )
  5232. SAReleaseBuffers                (ConnectionPtr             cPtr)                                SEVENWORDINLINE(0x203C, 0x2011, 0x0014, 0x2078, 0x0948, 0x2050, 0x4E90);
  5233.  
  5234. EXTERN_API_C( OSErr )
  5235. SAVerifyMessage                    (short                     attnCode,
  5236.                                  Ptr                     msgPtr,
  5237.                                  short                     msgSize)                            SEVENWORDINLINE(0x203C, 0x2011, 0x0018, 0x2078, 0x0948, 0x2050, 0x4E90);
  5238.  
  5239. EXTERN_API_C( OSErr )
  5240. SASendAEToFinder                (Ptr                     dataPtr,
  5241.                                  Size                     dataSize)                            SEVENWORDINLINE(0x203C, 0x2011, 0x001C, 0x2078, 0x0948, 0x2050, 0x4E90);
  5242.  
  5243. EXTERN_API_C( OSErr )
  5244. SAPrepPFEEventHeader            (long                     eventType,
  5245.                                  long                     eventClass,
  5246.                                  long                     requestID,
  5247.                                  OSErr                     replyResult,
  5248.                                  Str31                     queueName,
  5249.                                  PFEEvent *                theEvent,
  5250.                                  Size *                    theSize)                            SEVENWORDINLINE(0x203C, 0x2011, 0x0020, 0x2078, 0x0948, 0x2050, 0x4E90);
  5251.  
  5252. EXTERN_API_C( OSErr )
  5253. SAPrepPFEStatusEvent            (long                     queueID,
  5254.                                  long                     deviceID,
  5255.                                  long                     magicCookie,
  5256.                                  long                     userCount,
  5257.                                  unsigned long             queueState,
  5258.                                  long                     fileID,
  5259.                                  long                     curPage,
  5260.                                  Fixed                     percentage,
  5261.                                  gxStatusRecord *        curStatus,
  5262.                                  Size                     statusSize,
  5263.                                  PFEEvent *                theEvent,
  5264.                                  Size *                    theSize)                            SEVENWORDINLINE(0x203C, 0x2011, 0x0024, 0x2078, 0x0948, 0x2050, 0x4E90);
  5265.  
  5266. EXTERN_API_C( OSErr )
  5267. SAGetATInfo                        (AddrBlock *            homeAddr,
  5268.                                  AddrBlock *            routerAddr,
  5269.                                  NetRange *                homeNet,
  5270.                                  StringPtr                 zoneName,
  5271.                                  Ptr *                    nteQueue,
  5272.                                  Boolean *                extendedNet)                        SEVENWORDINLINE(0x203C, 0x2011, 0x0028, 0x2078, 0x0948, 0x2050, 0x4E90);
  5273.  
  5274. EXTERN_API_C( OSErr )
  5275. SARandomFill                    (RandomNumber *            data)                                SEVENWORDINLINE(0x203C, 0x2011, 0x002C, 0x2078, 0x0948, 0x2050, 0x4E90);
  5276.  
  5277. EXTERN_API_C( OSErr )
  5278. SAEncrypt                        (RandomNumber *            data,
  5279.                                  Str31                     key)                                SEVENWORDINLINE(0x203C, 0x2011, 0x0030, 0x2078, 0x0948, 0x2050, 0x4E90);
  5280.  
  5281. EXTERN_API_C( OSErr )
  5282. SADecrypt                        (RandomNumber *            data,
  5283.                                  Str31                     key)                                SEVENWORDINLINE(0x203C, 0x2011, 0x0034, 0x2078, 0x0948, 0x2050, 0x4E90);
  5284.  
  5285. EXTERN_API_C( OSErr )
  5286. SAEqualRandnums                    (long *                    randomBlock1,
  5287.                                  long *                    randomBlock2)                        SEVENWORDINLINE(0x203C, 0x2011, 0x0038, 0x2078, 0x0948, 0x2050, 0x4E90);
  5288.  
  5289. EXTERN_API_C( OSErr )
  5290. SAAddDTPRsrc                    (PSPParameterPtr         rsrc)                                SEVENWORDINLINE(0x203C, 0x2011, 0x003C, 0x2078, 0x0948, 0x2050, 0x4E90);
  5291.  
  5292.  
  5293. /* Dev. Comm. Shared ISR Routines: 'tckl' ID #18*/
  5294.  
  5295. EXTERN_API_C( OSErr )
  5296. SAIdle                            (ConnectionPtr             cPtr,
  5297.                                  WaitUPP                 idleProc)                            SEVENWORDINLINE(0x203C, 0x2012, 0x0004, 0x2078, 0x0948, 0x2050, 0x4E90);
  5298.  
  5299. EXTERN_API_C( OSErr )
  5300. SAWaitForIt                        (OSErr *                resultPtr,
  5301.                                  WaitUPP                 idleProc)                            SEVENWORDINLINE(0x203C, 0x2012, 0x0008, 0x2078, 0x0948, 0x2050, 0x4E90);
  5302.  
  5303. EXTERN_API_C( OSErr )
  5304. SAInitConnection                (ConnectionPtr             cPtr,
  5305.                                  short                     adspDrvRfNm,
  5306.                                  unsigned short         localSocket,
  5307.                                  WaitUPP                 idleProc)                            SEVENWORDINLINE(0x203C, 0x2012, 0x000C, 0x2078, 0x0948, 0x2050, 0x4E90);
  5308.  
  5309. EXTERN_API_C( OSErr )
  5310. SACloseConnection                (ConnectionPtr             cPtr,
  5311.                                  WaitUPP                 idleProc,
  5312.                                  Boolean                 remove,
  5313.                                  Boolean                 abortIO)                            SEVENWORDINLINE(0x203C, 0x2012, 0x0010, 0x2078, 0x0948, 0x2050, 0x4E90);
  5314.  
  5315. EXTERN_API_C( OSErr )
  5316. SASendData                        (ConnectionPtr             cPtr,
  5317.                                  Ptr                     dataPtr,
  5318.                                  Size                     dataSize,
  5319.                                  ProcPtr                 completion,
  5320.                                  WaitUPP                 idleProc,
  5321.                                  Boolean                 isEOM)                                SEVENWORDINLINE(0x203C, 0x2012, 0x0014, 0x2078, 0x0948, 0x2050, 0x4E90);
  5322.  
  5323. EXTERN_API_C( OSErr )
  5324. SARecvData                        (ConnectionPtr             cPtr,
  5325.                                  ProcPtr                 completion,
  5326.                                  WaitUPP                 idleProc,
  5327.                                  Ptr                     dataPtr,
  5328.                                  Size                     dataSize)                            SEVENWORDINLINE(0x203C, 0x2012, 0x0018, 0x2078, 0x0948, 0x2050, 0x4E90);
  5329.  
  5330. EXTERN_API_C( OSErr )
  5331. SAPrepDSPPB                        (DSPPBPtr                 dspPB,
  5332.                                  short                     dspCode,
  5333.                                  short                     dspRefNum,
  5334.                                  short                     ccbRefNum,
  5335.                                  ProcPtr                 completion)                            SEVENWORDINLINE(0x203C, 0x2012, 0x001C, 0x2078, 0x0948, 0x2050, 0x4E90);
  5336.  
  5337. EXTERN_API_C( OSErr )
  5338. SASendAttn                        (ConnectionPtr             cPtr,
  5339.                                  short                     attnCode,
  5340.                                  Ptr                     attnData,
  5341.                                  short                     attnSize,
  5342.                                  ProcPtr                 completion)                            SEVENWORDINLINE(0x203C, 0x2012, 0x0020, 0x2078, 0x0948, 0x2050, 0x4E90);
  5343.  
  5344. EXTERN_API_C( OSErr )
  5345. SASendPSPAttn                    (ConnectionPtr             cPtr,
  5346.                                  short                     theCommand,
  5347.                                  short                     theResult,
  5348.                                  Ptr                     dataPtr,
  5349.                                  short                     dataLen)                            SEVENWORDINLINE(0x203C, 0x2012, 0x0024, 0x2078, 0x0948, 0x2050, 0x4E90);
  5350.  
  5351. EXTERN_API_C( OSErr )
  5352. SAHaveAttn                        (ConnectionPtr             cPtr)                                SEVENWORDINLINE(0x203C, 0x2012, 0x0028, 0x2078, 0x0948, 0x2050, 0x4E90);
  5353.  
  5354. EXTERN_API_C( OSErr )
  5355. SARecvAttn                        (ConnectionPtr             cPtr,
  5356.                                  short *                attnCode,
  5357.                                  Ptr *                    attnData,
  5358.                                  short *                attnSize)                            SEVENWORDINLINE(0x203C, 0x2012, 0x002C, 0x2078, 0x0948, 0x2050, 0x4E90);
  5359.  
  5360. EXTERN_API_C( OSErr )
  5361. SARecvAttnDone                    (ConnectionPtr             cPtr)                                SEVENWORDINLINE(0x203C, 0x2012, 0x0030, 0x2078, 0x0948, 0x2050, 0x4E90);
  5362.  
  5363.  
  5364. /* Font Database Routines: 'tckl' ID #19*/
  5365.  
  5366. EXTERN_API_C( OSErr )
  5367. FontDbaseInit                    (TFontDbase *            fontDbase,
  5368.                                  gxSpoolFile             theFile,
  5369.                                  Boolean                 useMessages)                        SEVENWORDINLINE(0x203C, 0x2013, 0x0004, 0x2078, 0x0948, 0x2050, 0x4E90);
  5370.  
  5371. EXTERN_API_C( OSErr )
  5372. FontDbaseShutdown                (TFontDbase             fontDbase,
  5373.                                  gxSpoolFile             theFile,
  5374.                                  Boolean                 useMessages)                        SEVENWORDINLINE(0x203C, 0x2013, 0x0008, 0x2078, 0x0948, 0x2050, 0x4E90);
  5375.  
  5376. EXTERN_API_C( OSErr )
  5377. FontDbaseAddPage                (TFontDbase             fontDbase,
  5378.                                  gxShape                 thePage,
  5379.                                  Boolean                 useMac8bitEncoding)                    SEVENWORDINLINE(0x203C, 0x2013, 0x000C, 0x2078, 0x0948, 0x2050, 0x4E90);
  5380.  
  5381. EXTERN_API_C( OSErr )
  5382. FontDbaseAddItem                (TFontDbase             fontDbase,
  5383.                                  gxFlatFontListItem *    item,
  5384.                                  Boolean                 useMac8bitEncoding)                    SEVENWORDINLINE(0x203C, 0x2013, 0x0010, 0x2078, 0x0948, 0x2050, 0x4E90);
  5385.  
  5386. EXTERN_API_C( OSErr )
  5387. FontDbaseCountFonts                (TFontDbase             fontDbase,
  5388.                                  long *                    numFonts)                            SEVENWORDINLINE(0x203C, 0x2013, 0x0014, 0x2078, 0x0948, 0x2050, 0x4E90);
  5389.  
  5390. EXTERN_API_C( OSErr )
  5391. FontDbaseGetIndexedFont            (TFontDbase             fontDbase,
  5392.                                  long                     index,
  5393.                                  gxFont *                fontID)                                SEVENWORDINLINE(0x203C, 0x2013, 0x0018, 0x2078, 0x0948, 0x2050, 0x4E90);
  5394.  
  5395. EXTERN_API_C( OSErr )
  5396. FontDbaseLock                    (TFontDbase             fontDbase)                            SEVENWORDINLINE(0x203C, 0x2013, 0x001C, 0x2078, 0x0948, 0x2050, 0x4E90);
  5397.  
  5398. EXTERN_API_C( OSErr )
  5399. FontDbaseUnlock                    (TFontDbase             fontDbase)                            SEVENWORDINLINE(0x203C, 0x2013, 0x0020, 0x2078, 0x0948, 0x2050, 0x4E90);
  5400.  
  5401. EXTERN_API_C( OSErr )
  5402. FontDbaseGetGlyphBits            (TFontDbase             fontDbase,
  5403.                                  gxFont                 fontID,
  5404.                                  long                     snapshot,
  5405.                                  unsigned long **        glyphBits,
  5406.                                  gxFontVariation **        variations)                            SEVENWORDINLINE(0x203C, 0x2013, 0x0024, 0x2078, 0x0948, 0x2050, 0x4E90);
  5407.  
  5408. EXTERN_API_C( OSErr )
  5409. FontDbaseSpoolFonts                (TFontDbase             fontDbase,
  5410.                                  gxSpoolFile             theFile,
  5411.                                  Boolean                 justAppFonts,
  5412.                                  Handle                 hExclusionList,
  5413.                                  Boolean                 useMessages)                        SEVENWORDINLINE(0x203C, 0x2013, 0x0028, 0x2078, 0x0948, 0x2050, 0x4E90);
  5414.  
  5415. EXTERN_API_C( OSErr )
  5416. FontDbaseSetFontFlags            (TFontDbase             fontDbase,
  5417.                                  gxFont                 fontID,
  5418.                                  TfdbInfoFlags             flags)                                SEVENWORDINLINE(0x203C, 0x2013, 0x002C, 0x2078, 0x0948, 0x2050, 0x4E90);
  5419.  
  5420. EXTERN_API_C( OSErr )
  5421. FontDbaseGetFontInfo            (TFontDbase             fontDbase,
  5422.                                  gxFont                 fontID,
  5423.                                  long *                    glyphCount,
  5424.                                  long *                    axisCount,
  5425.                                  long *                    variationCount,
  5426.                                  TfdbInfoFlags *        flags)                                SEVENWORDINLINE(0x203C, 0x2013, 0x0030, 0x2078, 0x0948, 0x2050, 0x4E90);
  5427.  
  5428. EXTERN_API_C( OSErr )
  5429. FontDbaseBuildPrerequisiteList    (TFontDbase             fontDbase,
  5430.                                  scalerStreamTypeFlag     streamTypes,
  5431.                                  char *                    productDescription,
  5432.                                  Boolean                 useMessages,
  5433.                                  long *                    count)                                SEVENWORDINLINE(0x203C, 0x2013, 0x0034, 0x2078, 0x0948, 0x2050, 0x4E90);
  5434.  
  5435. EXTERN_API_C( OSErr )
  5436. FontDbaseGetIndexedPrerequisite    (TFontDbase             fontDbase,
  5437.                                  long                     idx,
  5438.                                  long *                    size,
  5439.                                  gxFont *                theFont,
  5440.                                  scalerPrerequisiteItem * item)                                SEVENWORDINLINE(0x203C, 0x2013, 0x0038, 0x2078, 0x0948, 0x2050, 0x4E90);
  5441.  
  5442. EXTERN_API_C( OSErr )
  5443. FontDbaseExcludePrerequisite    (TFontDbase             fontDbase,
  5444.                                  gxFont                 theFont,
  5445.                                  Boolean                 exclude)                            SEVENWORDINLINE(0x203C, 0x2013, 0x003C, 0x2078, 0x0948, 0x2050, 0x4E90);
  5446.  
  5447. EXTERN_API_C( OSErr )
  5448. FontDbaseAddStyleEntry            (TFontDbase             fontDbase,
  5449.                                  gxStyle                 theStyle,
  5450.                                  long                     numGlyphs,
  5451.                                  unsigned short         glyphs[],
  5452.                                  Boolean                 use8BitMacEncoding)                    SEVENWORDINLINE(0x203C, 0x2013, 0x0040, 0x2078, 0x0948, 0x2050, 0x4E90);
  5453.  
  5454. EXTERN_API_C( OSErr )
  5455. FontDbaseUnion                    (TFontDbase             source,
  5456.                                  TFontDbase             target)                                SEVENWORDINLINE(0x203C, 0x2013, 0x0044, 0x2078, 0x0948, 0x2050, 0x4E90);
  5457.  
  5458. EXTERN_API_C( OSErr )
  5459. FDBListOfReferencedFONDs        (long                     fontCount,
  5460.                                  const fontSfntMap         fontList[],
  5461.                                  long *                    FONDCount,
  5462.                                  Handle *                FONDListPtr)                        SEVENWORDINLINE(0x203C, 0x2013, 0x0048, 0x2078, 0x0948, 0x2050, 0x4E90);
  5463.  
  5464. EXTERN_API_C( OSErr )
  5465. FDBAddFONDsToResourceFile        (long                     FONDCount,
  5466.                                  Handle                 FONDList,
  5467.                                  gxSpoolFile             theFile,
  5468.                                  Boolean                 useMessages)                        SEVENWORDINLINE(0x203C, 0x2013, 0x004C, 0x2078, 0x0948, 0x2050, 0x4E90);
  5469.  
  5470.  
  5471. #if PRAGMA_STRUCT_ALIGN
  5472.     #pragma options align=reset
  5473. #elif PRAGMA_STRUCT_PACKPUSH
  5474.     #pragma pack(pop)
  5475. #elif PRAGMA_STRUCT_PACK
  5476.     #pragma pack()
  5477. #endif
  5478.  
  5479. #ifdef PRAGMA_IMPORT_OFF
  5480. #pragma import off
  5481. #elif PRAGMA_IMPORT
  5482. #pragma import reset
  5483. #endif
  5484.  
  5485. #ifdef __cplusplus
  5486. }
  5487. #endif
  5488.  
  5489. #endif /* __GXPRINTINGPRIV__ */
  5490.  
  5491.